home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 11 / Amiga Plus 11: Amiga Future.iso / demoversionen / anwendungen / wildfire / doc / wildfire.guide (.txt) < prev    next >
Amigaguide Document  |  1997-08-27  |  266KB  |  5,522 lines

  1. @database Wildfire
  2. @$VER: Wildfire.guide V3.97
  3. @node Main "Wildfire Documentation"
  4. #################################################################
  5. #                                                               #
  6. #        Wildfire - an Animation-System for the Amiga           #
  7. #                                                               #
  8. #            Copyright 
  9.  1995-1997 WK-Artworks                  #
  10. #                  All rights reserved                          #
  11. #            Unauthorized Duplication Prohibited                #
  12. #---------------------------------------------------------------#
  13. #                                                               #
  14. #                        Documentation                          #
  15. #                                                               #
  16. #################################################################
  17.     @{"  1. Introduction          " link introduction   }   @{" 11. Known Bugs            " link Bugs           }
  18.     @{"  2. System Requirements   " link requirements   }   @{" 12. Authors               " link Authors        }
  19.     @{"  3. Installation          " link installation   }   @{" 13. Copyright             " link Copyright      }
  20.     @{"  4. Usage                 " link Usage          }
  21.     @{"  5. Technical information " link Technical      }   @{" 14. Developer-Information " link Developer      }
  22.     @{"  6. Main Documentation    " link MainWindow     }   @{" 15. FAQ                   " link FAQ            }
  23.     @{"  7. Available Effects     " link OperatorsWindow}
  24.     @{"  8. PowerPlugs!           " link PowerPlugs!    }   @{" 16. How to order          " link Order      }
  25.     @{"  9. The YAFA Player       " link yp.guide/MAIN  }   @{" 17. Tutorials             " link Tutorials      }
  26.     @{" 10. ARexx                 " link ARexx          }   @{" 18. Wildfire Demos        " link Demos          }
  27.     @{" 19. Demo restriction!     " link demoversion    }   @{" 20. For High End Users    " link highend        }
  28. Documentation-Authors : Andreas K
  29. ssner, Andreas Maschke
  30. Last Changes          : Sunday 14-Aug-97
  31. Version               : 3.97
  32. Wildfire-Support      : eksec@eure.de
  33.                         http://www.oberland.com/amiga/wildfire/index.html
  34. @endnode
  35. @remark TODO:
  36. @remark  -Tutorials
  37. @remark  -Developer-kit
  38. @node Introduction
  39. ---------------------------------------------------------------------
  40.            Wildfire - where dreams become virtuality
  41.             A Special Effect Program and many more
  42. ---------------------------------------------------------------------
  43. @{ub}
  44. Wildfire is not only another brandnew image-processing-program -
  45. it's a professional animation-processor with some really new concepts.
  46. It allows you for example the creation and processing of animations in
  47. several formats, the generation of time-dependant special-effects
  48. and the design of large projects containing several animations and
  49. frame-synchronized sound-effects.
  50. Because the common animation-formats on the Amiga have too many
  51. lacks or restrictions we have tried to create a better one: YAFA.
  52. This animation-format for example features many compression-methods
  53. and realtime-zooming.
  54. One of the outstanding features of Wildfire is the fact that it
  55. makes for you no difference if you apply changes to a whole animation
  56. or if you process only one image. A single image is only a
  57. very special case of an animation.
  58. In contrary to common image-processors you can use envelopes instead
  59. of plain numbers as effect-parameters. This makes the creation
  60. of complicated time-dependant special-effects very easy.
  61. So you haven't to fight against the "do"-loops in an ARexx-script to
  62. get an animation outside your image-processor any more.
  63. All of the numerous effects can be arranged in any number and
  64. combination. Because the output of any of these effects can be
  65. one of the 8 "flat" or 4 3D-temp-buffers Wildfire allows you to
  66. perform "impossible" operations easily and in a very comfortable way !
  67. Main Features:
  68.   -fast and comfortable Converter:
  69.     input:  YAFA, ANIM5/7/8, mpeg, image-sequences
  70.     output: YAFA, ANIM5/7/8, image-sequences
  71.   -preview for almost any operation (including realtime previews)
  72.   -Project-Editor which allows the creation of large and complicated
  73.    projects easily using the mouse
  74.   -effect-generator featuring time-dependant parameters via envelopes
  75.   -a stunning library of effect-PlugIns (about 80)
  76.   -some really unique effects
  77.   -3D-engine with multiple lightsources and phong-shading
  78.   -superposition of 3D-effects (PowerPlugs!)
  79.   -superposition of Lightwave-objects and images in the
  80.    threedimensional space
  81.   -(un)loading of PlugIns at any time
  82.   -Envelope-Editor
  83.   -Timecodes-Editor
  84.   -Transition-Maker for easy creation of transitions between two animations
  85.   -easy-to-use Player-interface
  86.   -Filmstrips to simplify the perfect timimg of huge projects
  87.   -AnimInfo-function displaying size-profiles etc.
  88.   -fontsensitive GUI without MUI
  89.   -internal gadget-toolbox which handles mathematical expressions
  90.    instead of only plain numbers
  91.   -calculator which allows for example the export of user-defined symbols
  92.    to the gadgets in the whole-program
  93.   -Drag&Go
  94.    (using drag.gadget 1.0 beta  Copyright 
  95.  1997 J
  96. rg Kollmann,
  97.     see bonus drawer!)
  98.   -ARexx-port with about 400 commands
  99.   -macros, custom-windows, docks
  100.   -import of images from other programs
  101.   -Developer-Kit which allows you to create your own effect-PlugIns
  102.   -and many more
  103. @endnode
  104. @node Requirements
  105.   @{b}Requirements@{ub}
  106.   @{u}Hardware@{uu}
  107.     -Processor:    68020
  108.     -Graphics :    AGA or gfx-board (The program may work with ECS
  109.                    but this is not recommended)
  110.     -Memory   :    4 MB Memory
  111.   @{u}Software@{uu}
  112.     -operation system V39 (3.0)
  113.     -XPK compression system (xpkFAST recommended)
  114.   This program was successfully tested on A1200 (030, 060) and
  115.   A4000 (030, 040) with several disk and memory configurations.
  116. @endnode
  117. @node Installation
  118.   @{b}Installation@{ub}
  119.   Just move all files extracted from every "Wildfire"-directory into
  120.   one drawer, e.g. into a drawer called "Wildfire". After that locate the
  121.   file "envarc/Wildfire.config" and move into "envarc:". That's it.
  122.   @{b}File-Hierarchy@{ub}
  123.     Wildfire
  124.     +---system               -private files
  125.     |   +---plugIns            *PlugIns-rootdrawer
  126.     |   |   +---operators        operators for the Processor
  127.     |   |   +---general          general PlugIns
  128.     |   |   +---system           PlugIn-preferences and private data
  129.     |   |   \---savers           savers and loaders
  130.     |   +---images             *icons for the icon-manager
  131.     |   +---filmstrips         *filmstrips for the Transition-Maker
  132.     |   +---thumbnails         *previews for the Operators-Window
  133.     |   \---help               *some text-files
  134.     +---alpha                -alpha-images
  135.     +---trash                -temporary files
  136.     +---expressions          -expressions and symbols for the calculator
  137.     +---profiles             -size-profiles of animations
  138.     +---YAFAOptions          -YAFA-Compressor-settings
  139.     +---annotations          -annotations and text-files
  140.     +---convolutions         -matrix-settings for the Convolve-PlugIn
  141.     +---doc                  -documentation and online-help-files
  142.     +---envelopes            -envelopes for the Processor
  143.     +---filmstrips           -Filmstrips
  144.     +---images               -Images
  145.     +---macros               -ARexx-Macros
  146.     +---processes            -Processor-scripts
  147.     +---projects             -Video-projects
  148.     +---sessions             -Converter-sessions
  149.     +---tools                -additional tools
  150.     +---variables            -Variables for the Processor
  151.     \---windows              -Custom-windows
  152. @endnode
  153. @node Bugs
  154.   @{b}Known bugs@{ub}
  155.    -the program may crash if you run out of memory
  156.    -if you can`t start Wildfire on your GFX-Card then
  157.     use the -noPrefs option which will launch Wildfire
  158.     on the default Public Screen
  159.    -compose: `inside color range` is not working
  160.    -arrexx: sometimes there are false error statements
  161.    -the `-noPrefs` is not shown in the shell-output
  162.    -the `wind plugin` may crash sometimes!
  163. @endnode
  164. @node Authors
  165.   @{b}Wildfire, Parts of the YAFA-concept, Animations@{ub}
  166.   Andreas Maschke  (WK-Artworks)
  167.   Zenkerstra
  168.   06108 Halle/Saale
  169.   Germany
  170.   @{b}Player, YAFA-concept, Ideas@{ub}
  171.   Michael Henke  (Smack/Infect)
  172.   Praetoriusstr. 1/205
  173.   06124 Halle/Saale
  174.   Germany
  175.   EMail: epgbd@cluster1.urz.Uni-Halle.DE
  176.   @{b}Ideas, Documentation, Moral Support, Beta-Testing:@{ub}
  177.   Andreas K
  178. ssner
  179.   Marrinksweg 5
  180.   48531 Nordhorn
  181.   Germany
  182.   EMail: eksec@eure.de (FULL Wildfire-Support)
  183.   Phone: ++49 (0)5921/330420
  184. @endnode
  185. @node Copyright
  186. @{b}Copyright@{ub}
  187. The program WF is Copyright (c) 1996-97 WK-Artworks (Andreas Maschke).
  188. All rights reserved.
  189. Commercial use is prohibited, if you want to use it for commercial purposes
  190. you have to get an explicit permission from the @{"author" link Authors} first.
  191. Read all about @{" How to order " link Order} Wildfire. There are two different versions:
  192. @{u}Unregistered Demo-Version:@{uu}
  193. It is allowed to charge a fee to recover distribution costs, but no profit
  194. may be made by selling or otherwise distributing the program.  It is not
  195. allowed to distribute only parts of the package or a modified program.
  196. @{u}Regisered Version:@{uu}
  197. Your registered version (see: @{" How to order " link Order}) is coming on CD.
  198. It's strictly forbidden to give the registered version
  199. to other users !  Giving the reg.  Version to other users, using reg.
  200. Versions that you did not receive from us for your personal use is
  201. considered as an act of software piracy !
  202. It is not allowed to disassemble or otherwise reverse engineer
  203. any part of one of the Wildfire-related programs.
  204. @{b}Disclaimer@{ub}
  205. No guarantee is given nor implied that this program is fit for any use.
  206. The program and the information within this text are provided on "AS-IS"
  207. basis. The entire risk as to its quality and performance is with the user.
  208. In no event will the author be liable for direct, indirect, incidental or
  209. consequential damages resulting from any defect in the program. The author
  210. reserves the right to make changes to the program or the documentation
  211. without notice.
  212. @endnode
  213. @node demoversion
  214. @{b}Restriction of the demoversion@{ub}
  215.  -A Wildfire-Logo is applied to every image generated
  216.   by the Processor
  217.  -The Converter can only be used in combination with
  218.   the Processor (Processor=Enabled). (This assures that
  219.   all animations created by the program are "equipped" with
  220.   the Logo, too.)
  221. Now it's possible for you to test out all features - even
  222. complicated effects. The only missing function is the "fast
  223. Converter-mode" (without rendering). But you have NOT to convert
  224. lots of animations to decide if the program is worth
  225. bying. In fact, it is.
  226. To mention it explicitly: The Converter does NOTHING if the
  227. "Processor"-option is set to "Disabled".
  228. Addional note: This is the FINAL demo-mechanism. So don't
  229. ask us about features like "enabling the Converter without
  230. Processor and putting another Logo to each frame".
  231. Aminet CD 20 contains a special edition featuring
  232. the FULL Converter.
  233. @endnode
  234. @node Order
  235. @{b}How to order@{ub}
  236. Wildfire will be available soon through a commercial distributor Oberland.
  237. Contact eksec@eure.de for the latest details or just write to Oberland
  238. Computer:
  239. Oberland Computer
  240. In der Schneithohl 5
  241. 61476 Kronberg
  242. Germany
  243. Tel. ++49-(0)6173-6080
  244. email: info@oberland.com
  245. It`ll come on a CD with lots of examples.
  246. Registered Users of the Shareware Version will get a special discount
  247. when they buy the commercial version. For the special conditions send
  248. a short email to eksec@eure.de and include your registration number.
  249. There will be two different Versions:
  250. - WF 4.0 Amiga native
  251. - WF 4.0 Amiga PPC
  252. Probably there will be special Versions for:
  253. - WF 4.0 Amiga Movieshop
  254. - WF 4.0 Draco
  255. - WF p.OS
  256. @endnode
  257. @node Usage
  258. @{b}Usage@{ub}
  259. The program can be directly started from the Workbench or
  260. by typing "wf [options]" in a shell-window.
  261. Most operations can be done both using the mouse and the keybord.
  262. There are no menus because the AGA-hardware is too slow to
  263. render pulldown-menus on a screen with 32 or more colors.
  264. But 16...64 colors are recommended using the preview-function
  265. which is one of the major features of the program.
  266. The other reason is the fact that Wildfire has too many
  267. functions (about 120 windows containing about 1600 gadgets)
  268. to put them into menus without a very complex hierarchy.
  269. @{b}Options@{ub}
  270.  -h             : exit the program after displaying some informations
  271.  -debug         : turn on debug-output
  272.  -noPrefs       : don't load the configuration-file and use the
  273.                   Workbench-Screen as initial screen
  274.  -root <drawer> : specify the rootdrawer
  275. @{b}ToolTypes@{ub}
  276.  DEBUG
  277.  NOPREFS
  278.  ROOT=<drawer>
  279. @endnode
  280. @remark /*************************************************************/
  281. @remark /*
  282. @remark                                 Main
  283. @remark */
  284. @remark /*************************************************************/
  285. @node MainWindow
  286. @{b}The Main-Window@{ub}
  287. After initialization Wildfire opens it's Main-Window on a screen of
  288. your choice.
  289. All major program parts like the Processor or the Preferences-Editor
  290. can be reached from within this Window.
  291. Because Wildfire has a lot of functions and windows there is a
  292. window-hierarchy. E.g., after closing the Converter-Window all
  293. subwindows like the PictureList-Window or the YAFAAnimOptions-Window
  294. are closed automatically.
  295. Because the Main-Window is on top of the hierarchy you can quit
  296. the program by closing it.
  297. Another function of the Main-Window is to act as an icon-manager
  298. like Workbench. For almost all files affected by the program like
  299. animations, envelopes, images, ... an icon is created automatically
  300. and placed on the Icon Area.
  301. After moving such an icon into another window a filetype-specific
  302. operation is performed.
  303. @{b}Functions:@{ub}
  304.                                                     @{" Converter   " link ConverterWindow}
  305.                                                     @{" Projects    " link ProjectsWindow}
  306.                                                     @{" Processor   " link ProcessorWindow}
  307.                                                     @{" Player      " link PlayerWindow}
  308.                                                     @{" TMaker      " link TMakerWindow}
  309.                                                     @{" Preferences " link PreferencesWindow}
  310.                                                     @{" PlugIns     " link PlugInsWindow}
  311.                     @{" Icon Area " link IconArea}
  312.                                                     @{" Icons       " link IconsWindow}
  313.                                                     @{" DWA         " link DWAWindow}
  314.                                                     @{" Log         " link LogWindow}
  315.                                                     @{" Info        " link InfoWindow}
  316.                                                     @{" Quit        " QUIT}
  317. @{"   Add   " link IconFunctions} @{" Cleanup " link IconFunctions} @{"  Reset  " link IconFunctions} @{"  Load   " link IconFunctions} @{"  Save   " link IconFunctions}
  318. @endnode
  319. @node IconArea
  320. @{b}Icon Area@{ub}
  321. The Icon Area of the Main Window acts as a desktop. You can place,
  322. move or put files on it.
  323. There are four special icons which are initialized at startup
  324. automatically. If you drop a file-icon over one of these icons a
  325. filetype-specific operation is performed.
  326. Trashcan:  To delete icons and files. The default is to delete the
  327.            icons only. This behaviour can be changed from within
  328.            the @{"Icons-Window" link IconsWindow}.
  329. Player:    To play animations.
  330. Viewer:    To display images.
  331. Editor:    To edit or view textfiles.
  332. The external programs envoked can be specified from within
  333. the  @{" Preferences-Window" link PreferencesWindow}.
  334. On the bottom of the Main-Window there some addional functions which
  335. deal with icons:
  336. @{" Add " link IconFunctions} @{" Cleanup " link IconFunctions} @{" Reset " IconFunctions} @{" Load " link IconFunctions} @{" Save " link IconFunctions}
  337. @endnode
  338. @node IconFunctions
  339. @{b}Add@{ub}
  340. Using this function you can put one or more external files on the
  341. desktop.
  342. For example you could select 20 images to drop them sequentially
  343. over the Viewer-icon and delete the ugly ones.
  344. @{b}Cleanup@{ub}
  345. After pressing this button the Icon Area is cleanup up.
  346. @{b}Reset@{ub}
  347. This function removes all file-icons from the desktop and
  348. puts the four special icons on it.
  349. @{b}Load@{ub}
  350. The Load-function restores a previous saved desktop.
  351. To make this operation as simple as possible a default
  352. filename is used. This filename can be changed from
  353. within the @{" Icons-Window " link IconsWindow}.
  354. @{b}Save@{ub}
  355. This saves the contents of the whole desktop as the file
  356. specified in the @{" Icons-Window " link IconsWindow}.
  357. @endnode
  358. @remark /*************************************************************/
  359. @remark /*
  360. @remark                            Converter
  361. @remark */
  362. @remark /*************************************************************/
  363. @node ConverterWindow
  364. @{b}Introduction@{ub}
  365. The Converter is the program part which has to do the most
  366. hard jobs.
  367. It reads in a stream of data, performs some or many special
  368. effects on it and writes the results to harddisk.
  369. Unlike to common programs there is only a small difference
  370. for the user to perform easy or very complex operations.
  371. Example:
  372. 1. You want to convert a mpeg-animation into an IFF-Animation.
  373.    This is easy. Selected the input- and the output-file, adjust
  374.    the compression-parameters and press the "Convert"-button.
  375. 2. You want to scale down the input frames because you
  376.    have not enough diskspace.
  377.    This is easy. Just enable the Processor, open the Processor-Window
  378.    and add a "Halve"-effect. That's all.
  379. 3. You want to convert only some of the images, e.g. frames 31...54.
  380.    This is easy. Just open the CRange-window and enter these numbers.
  381. 4. You want to have a small animation in front of a large background.
  382.    This is easy. Enable the processor and use a "LoadImage"- and
  383.    a "Compose"-effect. That's all again.
  384. I could write thousand of such examples here - all of them where
  385. easy to realize.
  386. @{b}Converter-Window@{ub}
  387. @{u}Input@{uu}
  388. Type               Select the type of input: "Animation", "SinglePictures"
  389.                    or "BlackFrames"
  390. Info               Display some type-dependant information about the
  391.                    input-animation
  392. Related Options    Open one of the optionswindows @{"PictureList" link PictureListWindow}
  393.                    or @{"BlackFrames" link BlackFramesWindow} depending on the type of input
  394. @{u}Output@{uu}
  395. Type               Select the type of output: "YAFA", "ANIM", "SinglePictures"
  396.                    or "NIL:"
  397. Info               Display some type-dependant information about the
  398.                    generated output-animation
  399. Related Options    Open one of the optionswindows @{"YAFAOptions" link YAFAOptionsWindow},
  400.                    @{"IFFOptions" link IFFOptionsWindow} or @{"SinglePictures" link SinglePicturesWindow}
  401. @{u}Options@{uu}
  402. Annotation         Optional annotation string or file to include in a YAFA-animation
  403. Range              Open the @{"CRange-Window" link CRangeWindow} to specify the
  404.                    range of the input-stream to be processed
  405. Preview            Select the preview-type (none/window/screen)
  406. Processor          Enable the Processor to modify the input-stream
  407. @{u}Operation@{uu}
  408. Save Session       Save all options including the current window-settings
  409.                    and the Processor-settings as the specified session-file
  410. Load Session       Restore a previously saved session
  411. Convert            Start the converter
  412. All combinations of input- and output-streams are possible. A special
  413. case is input=output=SinglePictures. This feature is not obsolete,
  414. it allows you to create a sequence with numbered filenames from
  415. pictures having different locations.
  416. If you specify "NIL:" as output-stream no frames are written. This feature
  417. is especially usefull for testing complicated Processor-scripts.
  418. The Converter can be aborted at any time - in the most cased the
  419. cancelled output-stream will be usable.
  420. @endnode
  421. @node CRangeWindow
  422. @{b}CRange-Window@{ub}
  423. From within this window the range of the processed input-stream is
  424. specified.
  425. @{b}Functions@{ub}
  426. State         Enable/disable the current range-settings
  427. From          First frame
  428. To            Last frame, if a negative value is specified the number
  429.               of input-frames is decremented by this value
  430. Step          Range-step, usefull for example to skip every 2nd frame
  431. Remove loop   A preset to skip the looping frames of an IFF-animation
  432. If the range is disabled the whole input-stream is processed.
  433. @endnode
  434. @node IFFOptionsWindow
  435. @{b}IFFOptions-Window@{ub}
  436. This window let you select various settings for IFF-animations
  437. to be generated.
  438. @{b}Functions:@{ub}
  439. Related Options:
  440. Type        Compression type
  441. Colormap    Dynamic or static colormap
  442. Screenmode  Screenmode used while playing the animation
  443. @endnode
  444. @node SinglePicturesWindow
  445. @{b}SinglePictures-Window@{ub}
  446. Using this window you can set up some options which
  447. affect the generation of single pictures.
  448. @{b}Functions:@{ub}
  449. Basename       base-filename for the generated files, the frame-number
  450.                will be appended in the format ".%04d",
  451.                e.g. "ram:pic" -> "ram:pic.0001", "ram:pic.0002"...
  452. Shift Frames   Value to add to the frame-number before generating
  453.                the filename
  454. Screenmode     Screenmode used while displaying the frames
  455. Type           Toggles rendering on or off.
  456. @endnode
  457. @node YAFAOptionsWindow
  458. @{b}YAFAOptionsWindow@{ub}
  459. This window lets you adjust the various settings for YAFA-animations
  460. to be generated.
  461. @{b}Functions:@{ub}
  462. Image data        Internal representation of the image-data
  463. Colormap          Dynamic or static colormap
  464. Force Timecodes   Force the creation of timecodes even they are all equal
  465. Speed             Speed-preset for the Player (fps=50/speed on Pal)
  466. Post Compression  Turn on xpk-post-compression
  467. Compressor        Select xpk-compressor
  468. Mode              Select xpk-compression-mode, see xpk references for
  469.                   more details
  470. Delta Compression Choose the type of delta compression
  471. UC-Frames         Choose the number uncompressed delta-frames
  472. UC-Mode           Choose the type of uncompressed delta-frames
  473. Analysis          open the @{"Analysis-Window" link AnalysisWindow} to check out
  474.                   some predefined combinations of settings.
  475. Import            Extract the settings from an external YAFA-animation
  476. Load              Load a previous saved settings-file
  477. Save              Save all YAFA-settings into a settings-file
  478. @endnode
  479. @node AnalysisWindow
  480. @{b}Analysis-Window@{ub}
  481. The functions of this window are useful if you have no idea about the
  482. meaning of the various parameters. It creates some animations using
  483. some predefined settings and displays the resulting size-profiles.
  484. After that the settings of the smallest generated animation is selected
  485. and can be applied to the YAFAOptions-Window.
  486. @{b}Functions:@{ub}
  487. Frames        Number of frames generated for every test
  488. Run test      Start the test
  489. Results       Displays some informations like the output-size
  490.               and the used settings for every generated animation
  491. Size Profile  Displays a size-profile for every generated animation, the
  492.               one of the selected animation is highlighted
  493. Use           Apply the settings of the selected animation to the
  494.               YAFAOptions-Window
  495. @endnode
  496. @node PictureListWindow
  497. @{b}PictureList-Window@{ub}
  498. The picturelist has many features to create and manipulate a
  499. list of pictures to be converted.
  500. @{b}Functions:@{ub}
  501. Add          Add one or more pictures
  502. Add Reverse  Add one or more pictures in reverse order
  503. Add Dir      Add a whole directory
  504. Sort         Sort the complete list
  505. Check        Remove non-ILBM files and pictures that don't fit the
  506.              first entry's dimensions (width, height, depth) from list,
  507.              this functions makes only sense if the Processor is 
  508.              turned off
  509. Remove       Remove selected item from list
  510. Remove Range Remove all items inside the selected range from the list
  511. Set Timecode Set the timecode for selected item
  512. Time Range   Set timecodes for all items inside the specified range
  513. Show         Display the selected picture
  514. Picture Info Display some informations about the selected item
  515. From         First item of the range
  516. To           Last item of the range
  517. Step         Step of the range, e.g., a value of 2 skips every 2nd frame
  518. @endnode
  519. @node BlackFramesWindow
  520. @{b}BlackFrames-Window@{ub}
  521. The BlackFrames-Window is usefull if you want to render an animation
  522. using only Wildfire. An example would be a rotating cube with some
  523. pictures mapped on it.
  524. @{b}Functions@{ub}
  525. Frames     Number of the frames to be generated
  526. Width      Width of the frames
  527. Height     Height of the frames
  528. The BlackFrames-stream is some kind of a simulation of a real
  529. picturelist or input-animation. The most important field is the number
  530. of frames. If the Processor-script doesn't use the generated input
  531. its recommended to make the size-values very small, e.g. 32x20.
  532. @endnode
  533. @remark /*************************************************************/
  534. @remark /*
  535. @remark                            Projects
  536. @remark */
  537. @remark /*************************************************************/
  538. @node ProjectsWindow
  539. @{b}Projects-Window@{ub}
  540. The animation-projects created with this editor are arrangements of
  541. YAFA-animations and music modules, samples and executables.
  542. Projects are saved as text files which can played from within
  543. the @{"Player-Window" link PlayerWindow} or directly envoking the YAFA-Player "yp"
  544. with the "-batch"-option.
  545. Projects are the perfect choice if you want to create huge videos
  546. because the YAFA-system has the capability to play more small animations
  547. as one without any gaps.
  548. Another advantage is the fact that you can apply changes to such
  549. a project much easier than to a single huge animation.
  550. @{b}Functions:@{ub}
  551. @{u}Animations@{uu}
  552. Add            Include a YAFA-animation (*)
  553. Kill           Remove the selected animation from the list
  554. Replace        Replace the selected file
  555. Up/Down        Move selected item up/down in the list
  556. Local Range    Specify the first first and last frame to be played
  557.                 Example: the selected animation has 100 frames
  558.                          1, 100  - exactly one shot
  559.                          11,  50 - skips first 10 frames, plays 40 frames
  560.                          51, 250 - plays the complete animation exactly
  561.                                    two times, start/end are moved by 50 frames
  562. Global Range   Shows range as global frame numbers in the project
  563. Info           Display some information about the selected animation
  564.                and let you adjust some settings similar to the @{"Player-Window" link PlayerWindow}
  565. Filmstrip      Open the @{"Filmstrip-Window" link FilmStripWindow}
  566. @{u}Sounds@{uu}
  567. Add            The same like (*) for modules, samples or executables
  568. Kill           Dito
  569. Replace        Dito
  570. Global Range   Set global frame numbers to start/stop playing selected sound.
  571.                An executable will be started when the player reaches the start
  572.                value.
  573.                A special case is the range  0,0 for executables. These
  574.                commands will be executed before the YAFA-Player shuts down
  575.                intuition - so  you can use commands that have an output
  576.                (like a cd-player)
  577. Type           specify the type of sound-effect
  578. Edit           open one of the edit-windows @{"Module" link ModuleWindow}, @{"Sample" link SampleWindow} or @{"Command" link CommandWindow}
  579. @{u}Project@{uu}
  580. Frames         Shows the number of frames the whole project consists of
  581. Play selected  Play project starting with the selected item
  582. Play all       Play the whole project
  583. Profile        Open the @{"Profile-Window" link ProfileWindow}
  584. Identify       Calculate animation and frame number from a global frame number
  585. Save All       Save all frames played in the project using the picture
  586.                basename specified in the @{"Converter" link ConverterWindow}
  587. Clear          clear the whole project
  588. Project File   select file to load/save
  589. @endnode
  590. @node ProfileWindow
  591. @{b}Profile-Window@{ub}
  592. The Profile-Windows is  made to visualize the ranges of animations
  593. and sounds of a project.
  594. @{b}Functions@{ub}
  595. Animations     Shows bars representing the global ranges of the animations
  596. Sounds         The same for sound-effects
  597. Size-Profile   Show a size-profile of the whole project
  598. Full View      Scale the bars horizontally to fit the whole project in
  599.                the window
  600. Lines          Number of visible lines, the best choice depends on the
  601.                used font
  602. Because the range of a particular animation effects the whole project
  603. it can not be changed from within this window. But you can set ranges
  604. of sound effects using the mouse:
  605. Left Button    Drag startpoint
  606. Right Button   Drag endpoint
  607. @endnode
  608. @node ModuleWindow
  609. @{b}Module-Window@{ub}
  610. This edit-window appears if the selected item is a protracker module
  611. which will be played with the internal player.
  612. @{b}Functions:@{ub}
  613. File        Filename which can be changed here
  614. Test        Hear the module
  615. Stop        Stop playing
  616. @endnode
  617. @node SampleWindow
  618. @{b}Sample-Window@{ub}
  619. If the selected sound-effect is an IFF 8SVX sample this window appears.
  620. @{b}Functions:@{ub}
  621. File        Filename which can be changed here
  622. Test        Hear the sample
  623. Channel     Select the audio channel (ignored when playing stereo samples)
  624. Repeat      How often the sample is played, a value of 0 causes an
  625.             endless loop
  626. Volume      Adjust the volume
  627. Stop        Stop playing
  628. @endnode
  629. @node CommandWindow
  630. @{b}Command-Window@{ub}
  631. This window is for editing commands.
  632. String        The command you want to execute. You can type in whatever
  633.               you want, e.g.
  634.                "rx ARexx:EP_LoadModule.rexx Music:CUST.Electricity" or
  635.                "CDPLAY 4" or
  636.                "delete s:startup-sequence"
  637. Test          To execute the command.
  638. @endnode
  639. @node FilmStripWindow
  640. @{b}Filmstrip-Window@{ub}
  641. From within this window you can create, modify and play filmstrips.
  642. A filmstrip is a small representation of a single animation
  643. or a whole project. Such filmstrips are for example played
  644. in the middle the TMaker-Window.
  645. @{b}Animation@{ub}
  646. Animation     Filename of the animation or project to be converted
  647. From/To/Step  Range changes the pictures which will be used for the film
  648. Width         The width of the filmstrip
  649. Color         Type of palette to be generated
  650. Update        Start converting
  651. @{b}Film@{ub}
  652. Film          Filename of the Filmstrip
  653. Rows/Cols     Specifys the layout while displaying or playing
  654. Load/Save     Load/save a filmstrip
  655. Play          Play the selected filmstrip as movie, to change the
  656.               speed use the numeric keys
  657. Append        Append the selected filmstrip to the current (displayed) one
  658. @endnode
  659. @remark /*************************************************************/
  660. @remark /*
  661. @remark                            Player
  662. @remark */
  663. @remark /*************************************************************/
  664. @node PlayerWindow
  665. @{b}PlayerWindow@{ub}
  666. This window acts as a GUI for the external animation players like
  667. the YAFA-Player "yp".
  668. Some of the functions are only available for YAFA-animations.
  669. @{b}Animation@{ub}
  670. File          filename of a single animation or a Wildfire-project
  671. Display       select the realtime-transformations done by the YAFA-Player
  672. Cache         don't play YAFA-animations directly from harddisk
  673. FrameBuffers  cache-buffer for the YAFA-player
  674. LoadBuffer    load-buffer for the YAFA-player
  675. @{b}Information@{ub}
  676. Animation     show type-specific informations about the selected animation
  677. Shortcuts     show the shortcuts of the YAFA-player
  678. In case of YAFA- or IFF-animations a size-profile and some informations
  679. about the used compression is displayed.
  680. The @{" Timecodes-Window " link TimeCodesWindow} can be reached from this Window, too.
  681. @{b}Player@{ub}
  682. Output        display-type
  683. 24Bit         how to display 15/24 bit-images or -animations:
  684.                Real : "native", requires gfx-board
  685.                DRGB : dither-rgb, uses 7/8 bit-display
  686.                DRGB2: dither-rgb2, uses 7/8 bit-display
  687.                Gray : grayscale, uses 8 bit-display
  688.                Q332 : simple quantization, uses 8 bit-display
  689. Wait          after setting this option the YAFA-Player waits for
  690.               the <space>-key before playing
  691. Screenmode    choose the screenmode (Output=SCREEN)
  692. Since version 3.74 @{" Truecolor " link TruecolorImages}-YAFA-animations are supported 
  693. by both the external Player yp and Wildfire.
  694. @endnode
  695. @node TimeCodesWindow
  696. @{b}TimeCodes-Window@{ub}
  697. This window allows you to modify the timecodes of YAFA- and
  698. IFF-animations. A special feature is importing/exporting
  699. files. This makes it possible to modify timecodes graphically
  700. using the @{" Envelope-Editor " link EnvelopeWindow}.
  701. @{b}Functions:@{ub}
  702. From, To, Step    range to be modified
  703. Set Timecode      set a single timecode
  704. Time Range        change all timecodes inside the specified range
  705. Import            import timecodes from a file saved by the Timecodes-Editor
  706.                   or from within the @{" EnvelopeAdvanced-Window " link EnvelopeAdvancedWindow}
  707. Export            save the current timecodes to disk
  708. Show              show the selected frame of the animation
  709. Play              play the whole animation to test the changes
  710. @endnode
  711. @remark /*************************************************************/
  712. @remark /*
  713. @remark                            TMaker
  714. @remark */
  715. @remark /*************************************************************/
  716. @node TMakerWindow
  717. @{b}TMaker-Window@{ub}
  718. The transition maker creates various predefined transitions between
  719. two animations or images also known as "wipes". 
  720. This feature is very useful in conjunction with animation-projects.
  721. It's recommended to install the example-filmstrips which show
  722. two animations (called "A" and "B") and the selected transition
  723. from "A" into "B" (called "A->B") as small animations in the middle
  724. of the Transition-Window. The Filmstrip-Player is implemented as a
  725. background-task at low priority so no cpu-time is wasted.
  726. Because only YAFA-animations can be arranged in animation-projects
  727. only this output-format is supported yet.
  728. @{b}Functions:@{ub}:
  729. Input1         Input animation or image 1
  730. Input2         Input animation or image 2
  731. Output         Output animation (the transition)
  732. Temp           A directory used for the temporary files which will be
  733.                created while rendering
  734. CreateEX       If you have only the small installation of Wildfire without
  735.                transition-filmstrips this button will create them for you.
  736.                To test if you have the example transitions just enable
  737.                the "Example"-option. After that three animations should
  738.                appear in the middle of the window.
  739.                If they doesn't you may create them by pressing the
  740.                "CreateEX"-button.
  741. YAFAOpts       Adjust the YAFA-compressor-options
  742. Preview        Turn preview on/off
  743. Example        Turn example-movies on/off
  744.                Because this features runs at low priority it may be
  745.                always switched on.
  746. Type           Select the main type of transition
  747. Subtype        Select the subtype of the selected transition
  748. CreateTemp     Create the temporary files
  749.                This files have to be generated only once for a pair of
  750.                input-animations. So you can test various transitions very
  751.                quickly.
  752.                The "Convert"-function creates them automatically if necessary.
  753. KillTemp       Deletes all temporary files.
  754. Play           Play the animation-sequence "anim1 - transition - anim2"
  755. Convert        Create the transition
  756. @endnode
  757. @remark /*************************************************************/
  758. @remark /*
  759. @remark                            Preferences
  760. @remark */
  761. @remark /*************************************************************/
  762. @node PreferencesWindow
  763. @{b}Preferences-Window@{ub}
  764. The Preferences-Window lets you specify most of the program-settings
  765. and handle different settings for different purpose. All modified
  766. settings are active immediately - there are no "Use"- or "Cancel"-
  767. gadgets.
  768. @{b}Functions @{ub}
  769. ScreenType         choose the type of the Wildfire-screen
  770. Screenmode         choose the screenmode
  771. DisplayScreenmode  choose the screenmode for displayed images
  772. ScreenFont         select the font for the Wildfire screen
  773. IconManagerFont    select the font for the Icon Manager
  774. ScreenColors       select the colors for the wildfire screen
  775. Preset             some color-presets. "WF (modern)" is the default
  776. Import             load colors
  777. Export             save colors
  778. PlayerScreen       name of the public screen for the YAFA-Player
  779. DClickTime         time for a double click
  780. Statistics         turn on/off the generation of Player- and
  781.                    Converter-statistics
  782. Expertmode         turn on/off safety-requesters
  783. BrutalBlit         faster blitting
  784. OpenDWA            open the @{" DWA-Window " link DWAWindow} at startup
  785. Paths              open the Paths-Window
  786. Macros             open the Macros-Window
  787. File               the filename of the current Preferences-file
  788. Save               save the current settings
  789. Load               load the specified settings
  790. @{b}Paths-Window @{ub}
  791. From within this window the default paths for animations, pictures, ...
  792. and the external programs are specified.
  793. YAFA Player          player for YAFA-animations (default: "yp")
  794. Anim Player          player for ANIM-animations (default: "vt")
  795. MPEG-Player          player for MPEG-anims      (default: "mp")
  796. ImageProcessor       external image-processor   (default: "ADPro mm=1000000")
  797. Viewer               image-displaying program   (default: "visage")
  798. Editor               text-editor                (default: "ed")
  799. The "ImageProcessor"-setting is only used by the "ARexx"-Operator-PlugIn.
  800. @{b}Macros-Window@{ub}
  801. In this window the ARexx-macros executed after pressing on
  802. of the function-keys can be specified. Because there are only
  803. 10 function keys and maybe lots of macros the <F10>-key
  804. is reserved. After pressing it a filerequester appears
  805. and lets you select the macro to execute.
  806. @endnode
  807. @remark /*************************************************************/
  808. @remark /*
  809. @remark                            Icons
  810. @remark */
  811. @remark /*************************************************************/
  812. @node IconsWindow
  813. @{b}Icons-Window@{ub}
  814. The Icons-Window has three major functions: changing filetypes
  815. of icons on the desktop, setting up of some desktop-specific options
  816. and creating of icons with nearly unlimited size and quality.
  817. @{b}Options:@{ub}
  818. File               filename of the desktop-files
  819. Trashcan-Action    lets you selected if you want to remove only
  820.                    icons or icons and files
  821. @{b}Icon-Saver:@{ub}
  822. Image1             filename of the first (normal) image of the
  823.                    icon to be generated
  824. Image2             optional 2nd image
  825. Icon               icon-file to be generated
  826. Color              sets the type of palette to be generated
  827. Width              specified the icon-width, the height depends
  828.                    on the aspect of the 1st image
  829. Depth              number of colors used for rendering
  830. Convert            After pressing the convert-button the images
  831.                    are loaded, scaled and rendered using the
  832.                    current screen-palette. If you want to create
  833.                    icons for the Workbench you have open Wildfire
  834.                    on the Workbench-screen (temporary). If you want
  835.                    to create icons in high quality use a very high
  836.                    screen-depth and convert the created icons into
  837.                    NewIcons later.
  838. @{b}Change the filetype:@{ub}
  839. If Wildfire didn't recognise the type of an external file correctly
  840. you can change this type by simply dragging the icon into the
  841. Icon-Window. After that a requester displaying the current and
  842. the available filetypes will appear.
  843. @endnode
  844. @remark /*************************************************************/
  845. @remark /*
  846. @remark                              DWA
  847. @remark */
  848. @remark /*************************************************************/
  849. @node DWAWindow
  850. @{b}DWA-Window@{ub}
  851. The DWA-Window allows you to access windows directly. This may
  852. help you to locate special functions in a faster way. After selecting
  853. a window and pressing the <enter>-key the selected window
  854. and all windows which are on top of it in the window-hierarchy are opened.
  855. If you set the "OpenDWA"-option in the @{"Preferences-Window" link PreferencesWindow}
  856. the DWA-Window will be opened at startup automatically.
  857. @endnode
  858. @remark /*************************************************************/
  859. @remark /*
  860. @remark                              Log
  861. @remark */
  862. @remark /*************************************************************/
  863. @node LogWindow
  864. @{b}Log-Window@{ub}
  865. All statistics, warnings and some additional informations are
  866. collected and displayed in this window.
  867. Of course this feature can be turned off.
  868. @{b}Functions@{ub}:
  869. State           toggle logfile-generation on/off
  870. Edit            edit the logfile
  871. Delete          delete the logfile
  872. Clear           clear the logfile
  873. Load            load the logfile
  874. Save            save the logfile
  875. Verbose         toggle verbose-mode on/off
  876. SaveAtExit      toggle saving of the logfile at program-exit on/off
  877. @endnode
  878. @node InfoWindow
  879. @{b}Info-Window@{ub}
  880. This window displays some useful informations like the available
  881. memory, the date, the amount of currently allocated memory
  882. and program-informations.
  883. @endnode
  884. @remark /*************************************************************/
  885. @remark /*
  886. @remark                            PlugIns
  887. @remark */
  888. @remark /*************************************************************/
  889. @node PlugInsWindow
  890. @{b}PlugIns-Window@{ub}
  891. The PlugIns-Window gives you control over external Wildfire-programs
  892. known as "General PlugIns".
  893. @{b}Functions@{ub}
  894. Add           add one or more PlugIns
  895. Delete        unload the selected PlugIn
  896. SavePrefs     save the settings of a PlugIn
  897. Open          activate the selected PlugIn
  898. Close         deactivate a PlugIn
  899. The "SavePrefs"-function saves the PlugIn-state and some private-date.
  900. If the PlugIn was open while saving it will be activated
  901. next time automatically.
  902. @{b}Available PlugIns@{ub}
  903.  @{"  ColorWheel     " link gnColorWheel}
  904.  @{"  Command        " link gnCommand}
  905.  @{"  ConvertImages  " link gnConvertImages}
  906.  @{"  CountPlugIns   " link gnCountPlugIns}
  907.  @{"  EPSSaver       " link gnEPSSaver}
  908.  @{"  GrabWindow     " link gnGrabWindow}
  909.  @{"  Patch          " link gnPatch}
  910.  @{"  TileImage      " link gnTileImage}
  911.  @{"  SlideShow      " link gnSlideShow}
  912.  @{"  XAnim          " link gnXAnim}
  913. @endnode
  914. @node gnColorWheel
  915. @{b}ColorWheel-PlugIn@{ub}
  916. The ColorWheel-PlugIn was made to simplify the selection of the right
  917. colors for the various operators.
  918. Just select a color of your choice and use the values indicated at
  919. the bottom of the window as effect-parameters.
  920. @endnode
  921. @node gnPatch
  922. @{b}Patch-PlugIn@{ub}
  923. This PlugIn was made to simplify the process of patching lots
  924. of (executable) files. Currently only the SAS-Tools "scompare"
  925. and "spatch" are supported. But this may change in future.
  926. @{u}Creating Patches@{uu}
  927.  *Create a root-drawer, e.g. "update"
  928.  *Enter the root-drawer and create two drawers "new" and "old"
  929.  *Copy all  of your "old" files (the ones to be updated) into "old",
  930.   put the "new" files into "new"
  931.  *Press the "Generate"-button
  932.  Notes: 1) DON'T move your files into the "new" or "old" drawer because
  933.            identical files are DELETED automatically
  934.         2) Currently the check for identical files is simply done by
  935.            comparing the file-size
  936.         3) As result you get a new drawer "patches" containing all
  937.            the patches
  938. @{u}Applying Patches@{uu}
  939.  *Create a root-drawer, e.g. "update"
  940.  *move the "patches" drawer into this drawer
  941.  *Enter the root-drawer and create a drawer "old"
  942.  *Copy the "old" files into the "old" drawer
  943.  *Press the "Apply"-button
  944.  Notes: 1) It doesn't matter if you copy all "old" files into the
  945.            drawer or only the ones to patch
  946.         2) As result you get a new drawer "new" containing all
  947.            "new" files
  948. @{u}Notes@{uu}
  949.  1) For applying patches (which is the general purpose) the
  950.     freely distributable programm "spatch" is required.
  951.  2) For generating patches the Programm "scompare" is required.
  952.     But this program isn't freely distributable.
  953.  3) Currently this PlugIn doesn't support directory-trees, but
  954.     I think this isn't necessary.
  955. @endnode
  956. @node gnCommand
  957. @{b}Command-PlugIn@{ub}
  958. The Command-PlugIn executes the supplied input-string as
  959. Wildfire-ARexx-command.
  960. This may be useful while creating complicated macros
  961. or simply to test out how a particular command works.
  962. @endnode
  963. @node gnConvertImages
  964. @{b}ConvertImages-PlugIn@{ub}
  965. The ConvertImages-PlugIn converts a drawer of images keeping
  966. all filenames. No special-effects can be applied.
  967. This is for example useful if you have a drawer with lots of
  968. jpeg-, tiff-, iff-, ... images and you want them all in png-format.
  969. The file-tag can be specified using the "Extension"-gadget - if
  970. this field is left blank the filenames are not changed.
  971. The output-format is selected as usual in the @{"Savers-Window" link SaversWindow} of
  972. the Processor.
  973. @endnode
  974. @node gnCountPlugIns
  975. @{b}CountPlugIns-PlugIn@{ub}
  976. The CountPlugIns-PlugIn shows some statistics about the initialized
  977. PlugIns including Operators, Savers and General PlugIns.
  978. This trivial thing was created as example for the developer-
  979. kit which will be available soon.
  980. @endnode
  981. @node gnEPSSaver
  982. @{b}EPSSaver-PlugIn@{ub}
  983. The EPSSaver-PlugIn converts any picture which can be read
  984. by Wildfire into an eps-file which can be included into
  985. TeX-documents or directly processed by ghostscript.
  986. @{b}Functions:@{ub}
  987.  Input        input-image
  988.  Output        eps-file to be generated
  989.  Resolution    resolution in dpi
  990.  Type        output-type: Gray, Color or Black&White
  991. @{b}Notes:@{ub}
  992.  1. This PlugIn replaces my iff2eps-package.
  993.  2. The eps-files created by this PlugIn are uncompressed and therefore
  994.     highly portable.
  995.  3. The eps-image will be centered on a normal A4-page automatically.
  996. @endnode
  997. @node gnSlideShow
  998. @{b}SlideShow-PlugIn@{ub}
  999. The SlideShow-PlugIn allows you to create slideshows easily.
  1000. There are many functions to create and modify a picture-list
  1001. which can be loaded and saved.
  1002. The slideshow is performed calling the external program
  1003. "Visage" by Magnus Holmgren. This nice program is used
  1004. because of it's capability of "loading while displaying".
  1005. @{b}Functions:@{ub}
  1006.  Add         add one or more images to the list
  1007.  AddDir          add the contents of a whole drawer to the list
  1008.  From, To, Step  picture-range
  1009.  Remove          remove the selected picture from the list
  1010.  Remove Range    remove all pictures inside the specified range from the list
  1011.  Delete          delete the selected picture
  1012.  File            file for loading/saving picture-lists
  1013.  Save            save the current picture-list to disk
  1014.  Load            load a previously saved picture-list
  1015.  Clear           clear the current picture-list
  1016.  Show            display the selected picture
  1017.  Delay           pause between two images during the slideshow
  1018.  Go              perform the slideshow
  1019. The only way to abort the slideshow is to abort the viewer
  1020. sequentially pressing the right mouse-button. The number of
  1021. required mouseclicks depends on the length of the image-paths
  1022. and the number of items in the picture-list.
  1023. @endnode
  1024. @node gnGrabWindow
  1025. @{b}GrabWindow-PlugIn@{ub}
  1026. The GrabWindow-PlugIn saves the selected Window or screen to harddisk.
  1027. The output-format is selected as usual in the @{"Savers-Window" link SaversWindow} of
  1028. the Processor.
  1029. @endnode
  1030. @node gnTileImage
  1031. @{b}TileImage-PlugIn@{ub}
  1032. The TileImage-PlugIn splits a specified image into small portions
  1033. with the same size.
  1034. The output-format is selected as usual in the @{"Savers-Window" link SaversWindow} of
  1035. the Processor.
  1036. @{b}Functions:@{ub}
  1037.  Input        input-image
  1038.  Output        base-filename of the generated particles
  1039.  xCount        number of fragments in x-direction
  1040.  yCount        number of fragments in y-direction
  1041. @{b}Notes:@{ub}
  1042.  1. Finally you will get xCount*yCount fragments with
  1043.     filenames like "output.0001", "output.0002", ...
  1044.     The counter runs from the left lower edge to the right upper
  1045.     edge (which may be important if you want to use
  1046.     the created images later)
  1047.  2. the sum of the generated fragments must fit the
  1048.     image-size *exactly*. For example you can't subdivide
  1049.     an image of the dimensions 640x480 into 3x7 fragments
  1050.  3. The idea for this PlugIn is really not mine ;)
  1051. @endnode
  1052. @node gnXAnim
  1053. @{b}XAnim-PlugIn@{ub}
  1054. This PlugIn uses the program XAnim to split an animation
  1055. into single frames (of depth 8 or 24). Because XAnim supports
  1056. almost any known animation format this PlugIn may be considered
  1057. as an "universal animation-loader" for Wildfire.
  1058. @{b}Functions:@{ub}
  1059.  Animation      animation to split
  1060.  Output        base-filename of the generated images
  1061.  XAnim          XAnim-path (see below)
  1062.  Convert        Start the operation
  1063. @{b}Notes:@{ub}
  1064.  1. There are a lot of Amiga-ports of XAnim. But most of them
  1065.     are not capable to save images (because they are intended to
  1066.     be animation-PLAYERS). But the program "AmiXAnim" by
  1067.     Joop van de Wege is able to save both 8- and 24-bit
  1068.     images.
  1069.  2. Because there may be lots of different versions of
  1070.     XAnim (an Amiga-version, a X11-version, the port by
  1071.     Joop van de Wege, ...) on your harddisk you must
  1072.     specify the full path of the program you want
  1073.     to use. In general this is "wf:tools/AmiXAnim".
  1074.  3. Please don't break XAnim while converting.
  1075.     (If it crashes while writing your harddisk has to be
  1076.      validated which usually takes much more time than converting
  1077.      the whole animation.)
  1078. @{b}Copyright Notices:@{ub}
  1079.  1. XAnim Copyright (C) 1990,1991,1992,1993,1994,1995,1996 by Mark Podlipec.
  1080.     All rights reserved.
  1081.  2. Readme-file of "AmiXAnim"
  1082.     Short:    Xanim for Amiga BETA_6. 3.x+AGA or gfxcard required!
  1083.     Author:   Joop van de Wege
  1084.     Uploader: Joop.vandeWege@Medew.ENTO.WAU.NL
  1085.     Type:     gfx/show
  1086.     This is the BETA_6 version of my port of Xanim to the Amiga. It requires
  1087.     3.x and AGA or a graphics card and 3.x, needs atleast a stack of 10000!!
  1088.     It is able to play back:
  1089.     Quicktime movies, AVI (windows), DL and FLI/FLC
  1090.     There is support for 16/24bit Qt/AVI
  1091.     Only support 256 colors and not less at the moment.
  1092.     Dithering 16/24bit anims to 8bit might/might not work.
  1093.     Shell only.
  1094.     Save IFF pics possible 8bit or 24bit.
  1095.     (use option +Di8filename or +Di24filename; filename can be any valid AmigaDOS
  1096.     path+file, there is no SPACE between the option +Di8/+Di24 and the filename!.
  1097.     Files will be automatically numbered from 0-n. 8/24bit saving should work for
  1098.     anyone having 3.x with or without a 256 color mode.
  1099.     NEW NEW NEW
  1100.     - 24bit display on the Merlin enabled and possible to center animations. Tell me
  1101.       if you like it. Please don't select 16bit from the screenmode requester from
  1102.       the Merlin. It won't do any harm but you'll be watching a black display!!!!
  1103.     - Centering on Amiga displays too.
  1104.     - Support for Cybergfx 8/24bit
  1105.       8bit is tested and should work. 24bit not tested but should work too.
  1106.       Please *report* any problems!!!
  1107.     - Dumped reqtools. Now using ASL.
  1108.     8bit saving works now too. You won't need a 256 color display anymore. No
  1109.     display will be opened/required when using the +Di8 and +Di24 options.
  1110.     Kickstart 3.x still required.
  1111.     Fix for the width not dividable through 8. Display and save of any width
  1112.     should work now.
  1113.     If problems still exist please report.!
  1114.     Code for gfxcards included:
  1115.     Merlin        8 and 24bit enabled and working. NOT 16bit.
  1116.     EGS            (largely untested, don't have one ;-) )
  1117.     PicassoII           (            ,,                       )
  1118.     Cybergfx            8 and 24bit
  1119.     I you have one and know how to program, please have a look at the supplied
  1120.     code and tell me what I'm doing wrong.
  1121.     Support for: RetinaZ2/Z3 and fast c2p is in the works.
  1122.     If you have such a card and know how to program the beasty please have
  1123.     alook at the supplied example of the Merlin. Try to substitute your code
  1124.     for mine. If it is not clear please free feel to email me at:
  1125.     Joop.vandeWege@medew.ento.wau.nl
  1126.     Complete source will be available in the final or later BETA releases!
  1127.     Type Xamiga +h or -h for help.
  1128.     NOTE the last main option 'D' :)
  1129.     Send questions/remarks/bugs/anything to:
  1130.     Joop.vandeWege@medew.ento.wau.nl
  1131. @endnode
  1132. @remark /*************************************************************/
  1133. @remark /*
  1134. @remark                            FAQ
  1135. @remark */
  1136. @remark /*************************************************************/
  1137. @node FAQ
  1138. @{b}Frequently Asked Questions@{ub}
  1139.    Q: Wildfire crashes my machine. I have an 68040 processor.
  1140.    A: Try to run the `Patch for 68040 bug in
  1141.       "mathieeesingbas.library" V40`
  1142.       aminet:util/boot/MathPatch.lha 2733 Bytes
  1143.    Q: Does the transition maker not work in the demo mode?
  1144.    A: Since Version 3.90 it is fixed!
  1145.    Q: Wildfire crashes on my CyberGFX-System!
  1146.    A: Just decrunch the draggadget.lha archive from the
  1147.       Wildfire/Bonus drawer and start the `patchgels` program.
  1148.       This will fix a bug inside the old Cybergrafix Software.
  1149.       Some other bugs are fixed in the latest version:
  1150.       aminet:dev/gui/draggadget10b2.lha 60430 Bytes
  1151.       Just copy the new version (check if it is newer
  1152.       than your version!) of the drag.gadget into the
  1153.       Wildfire/System drawer.
  1154.    Q: Wildfire asks for amigaguide.library V37 at startup but
  1155.       I have installed it!!!
  1156.    A: 1. The libs:amigaguide.library and the
  1157.          sys:Classes/DataTypes/amigaguide.datatype files
  1158.          are on your Workbench 3.0/3.1 system disks!
  1159.       2. Be sure your startup-sequence contains the
  1160.          following lines:
  1161.          assign libs: hd0:classes add
  1162.          adddatatypes REFRESH QUIET            (since OS3.1)
  1163.          This is necessary because the amigaguide.datatype
  1164.          and maybe some other components will be initialized
  1165.          while opening the system-libraries.
  1166.          (This means that the error-message which is produced
  1167.           by the startup-code I use is wrong.)
  1168.    Q: Which assigns etc. are necessary to run your program ?
  1169.    A: Wildfire works after booting without startup-sequence
  1170.       if you enter the following lines:
  1171.       setpatch
  1172.       assign libs: hd0:classes add
  1173.       adddatatypes REFRESH QUIET
  1174.       stack 10000
  1175.       wf
  1176.       After that the most parts of the program (converting,
  1177.       processing images, playing animations) work without
  1178.       problems. The only "bad" thing I found is the online-help
  1179.       which is displayed as plain text.
  1180.    Q: There are plans to create PowerPC-version of Wildfire ?
  1181.    A: Yes, a PowerPC-version will be available very soon.
  1182.       (The compiler is installed but we have no PPC-board yet.)
  1183.    Q: How about a p.OS-version of Wildfire ?
  1184.    A: We are working on it!
  1185. @endnode
  1186. @remark /*************************************************************/
  1187. @remark /*
  1188. @remark                            Processor
  1189. @remark */
  1190. @remark /*************************************************************/
  1191. @node ProcessorWindow
  1192. @{b}Processor-Window@{ub}
  1193. @{u}Introduction@{uu}
  1194. The Processor is Wildfire's powerful image-processing engine which acts
  1195. as a PlugIn between the Converter's input and output.
  1196. If you have understood the basic @{" concept " link pcConcept} of this architecture
  1197. it's easy for you to create almost any complicated or simple effect.
  1198. @{b}Functions:@{ub}
  1199. @{u}Process-Script:@{uu}
  1200. Add              open the @{" Operators-Window " link OperatorsWindow} to append an operator to the list
  1201. Kill             kill the selected item
  1202. Duplicate        duplicate the selected item
  1203. Import           import one or more items from a previously saved Process-file
  1204. Edit             open the Options-Window of the selected Operator
  1205. Up               move the selected item up
  1206. Down             move the selected item down
  1207. Visible/Hidden   toggle if the current item remains visible if folding is
  1208.                  enabled
  1209. Enabled/Disabled disable/enable the current item
  1210. Folding          toggle list-folding on/off
  1211. Range            the frame-range of the current Operator:
  1212.                   from: first frame
  1213.                   to  : last frame
  1214.                   step: positive value:
  1215.                          turn on the operator at each <step>th frame
  1216.                         negative value:
  1217.                          turn off the operator at each <0-step>th frame
  1218.                  It may be neccessary to include operators which
  1219.                  have to be executed only once- but under all circumstances,
  1220.                  e.g. an LoadImage-operator. Setting it's range to (0 0 1)
  1221.                  causes this operator to be executed at the first
  1222.                  frame the Processor is envoked. (In single-picture-mode
  1223.                  this may be every possible frame.)
  1224. Folding is very nice feature to design very complex scripts.
  1225. If a particular scene works you should hide it to work on the next one.
  1226. A comment describing the hidden scene and the frame-range
  1227. should be left visible.
  1228. @{u}Options:@{uu}
  1229. Mode           color-mode for rendered images
  1230. Dither         dithering-method used while rendering images
  1231. Depth          depth of rendered images, the following depths are
  1232.                currently supported:
  1233.                 1...8 (rendered images with colormap),
  1234.                 15/24 (@{" Truecolor " link TruecolorImages} images)
  1235. CSkip          number of colors not used while rendering images,
  1236.                this may be useful for creating Workbench-backdrops
  1237. Scale          @{" Process-Scale-Value   " link pcScale}
  1238. BGRed,         background-color specifying the "black color" for
  1239. BGGreen,       the numerous image-deforming effects
  1240. BGBlue
  1241. Smooth         global intensity of smoothing for various operators
  1242. Single Image   open the @{" SinglePicture-Window " link SinglePictureWindow} to process single images
  1243. Variables      open the @{" Variables-Window     " link VariablesWindow} to edit time-dependant animation-paramters
  1244. Savers         open the @{" Savers-Window        " link SaversWindow} to select the Saver used while writing TrueColor-images
  1245. Palette        open the @{" Palette-Window       " link PaletteWindow} to create a locked Palette
  1246. Calculator     open the @{" Calculator-Window    " link CalculatorWindow}
  1247. File           filename used for loading/saving of Process-scripts
  1248. Load           load a previously saved Process-file
  1249. Save           save the Process-script, all Variables and the Palette
  1250.                as Process-file
  1251. Clear          clear the Process-script, all Variables keep unchanged
  1252. @{b}Additional ShortCuts:@{ub}
  1253. <del>            delete the selected list-item
  1254. <space>          Test Process of the @{" SinglePicture-Window " link SinglePictureWindow}
  1255. <v>              toggle @{" Preview " link ProcessorPreview} on/off
  1256. <up>,<down>      browse through the Process-list
  1257. <left>           unfold item (if folding=off)
  1258. <left>           unfold whole list after safety-requester (if folding=on)
  1259. <right>          fold item
  1260. <n>              enable/disable item
  1261. @endnode
  1262. @node pcConcept
  1263. @{b}The concept@{ub}
  1264. A normal animation-converter like MainActor reads in a input-stream
  1265. of pictures and writes them as output-stream to harddisk.
  1266. (The complicated process of (de)compressing various animation-
  1267. formats is here neglected.)
  1268. The Converter of Wildfire extends this simple concept by a
  1269. PlugIn-architecture. You can "plug in" as many modifications
  1270. between the input and the output as you want. These modifications
  1271. are realized via Operators.
  1272. For example this concept would allow to scale down animations
  1273. "plugging in" a Halve-operator.
  1274. A further extension is the usage of tempory buffers called
  1275. "TEMP-buffers". Every Wildfire-PlugIn has at least two Parameters:
  1276. the input- and the output-buffer. The "normal" buffer generated
  1277. by the Converter is called "STREAM". There are 8 TEMP-buffers
  1278. called "TEMP1"..."TEMP8".
  1279. In this terms the process of halving an animation looks like this:
  1280. input
  1281.   ->STREAM -> Halve -> STREAM
  1282.                          I
  1283.                        output
  1284. This concept of TEMP-buffers is much more powerful. For example it
  1285. allows you to create an animation which consists of the input-
  1286. animation as gray background and as small colored foreground.
  1287. In this case you would need a Scale-, a ColorToGray- and a Compose-
  1288. PlugIn.
  1289. The scheme would look like this:
  1290. input
  1291.   ->STREAM -> Scale       -> TEMP1  )
  1292.                                      > Compose -> STREAM
  1293.            -> ColorToGray -> STREAM )               I
  1294.                                                   output
  1295. But this concept doesn't allow you very complicated effects
  1296. like a jumping animation in front of a melting one.
  1297. So a further extension is necessary: time-dependant animation-
  1298. parameters.
  1299. For example this allows you to create a spinning animation.
  1300. All you need is a Rotate-PlugIn and a rotate-amount running
  1301. from 0 to 360 degrees during the whole animation.
  1302. Let's assume your animation has 120 frames. To convert it into a
  1303. spinning one you have to "plug in" the Rotate-Operator, to
  1304. create the Envelope describing the variation of the
  1305. rotate-amount with the frame number and to "plug in" this
  1306. Envelope into the Rotate-Operator. That's it.
  1307. The Envelope consists of two points one at frame 0 with the
  1308. value 0 and one at frame 120 with the value 360.
  1309. Setting the value 0 at frame 0 which is never reached (the
  1310. first frame is always 1) causes the creation of a looping
  1311. animation.
  1312. As said before, if you understood this concept you can
  1313. do almost anything.
  1314. Example: Compose four different animations after applying
  1315. a Twirl-effect to the 1st, a Negative-effect to the 2nd,
  1316. a Cube-effect to the 3rd and a Posterise-effect to the 4th one:
  1317. input
  1318.   ->STREAM -> Twirl ->STREAM                     )
  1319.                                                   > Compose -> STREAM                                     )
  1320.           LoadImage ->TEMP1 -> Negative -> TEMP1 )                                                         )
  1321.                                                                                                             > Compose -> STREAM
  1322.                                              LoadImage -> TEMP1 -> Cube      -> TEMP1 )                    )               I
  1323.                                                                                        > Compose -> TEMP1 )              output
  1324.                                              LoadImage -> TEMP2 -> Poszerise -> TEMP2 )
  1325. This example doesn't make any sense but demonstrates that
  1326. the only limit is your own creativity.
  1327. @endnode
  1328. @node pcQuant3D
  1329. @{b}3D-Quantization-value@{ub}
  1330. This important parameter affects both the quality and the
  1331. speed of the images created or modified by the various 3d-effects.
  1332. The value specifies how many pixels are transformed like one
  1333. point of the source-image. If this value is left to 1 the image
  1334. is transformed pixel by pixel.
  1335. Higher values cause the approximation of the image by quadrangles
  1336. of the size specified by the 3D-Quantization-value.
  1337. E.g., after specifiying a value of 3 the image is approximated
  1338. by quadrangles of the size 3x3. The color of every quadrangle is
  1339. computed from the 9 original pixel using an interpolation method.
  1340. The result may look very bad but is displayed almost in realtime
  1341. at fast machines.
  1342. The main purpose of quantization values higher than 1 is to speed
  1343. up the generation of previews while adjusting the many parameters.
  1344. Another advantage may be the fact that the amount of memory
  1345. required for the 3d-calculations decreases with increasing
  1346. quantization-values at a power of 2. That means at a quantization
  1347. value of 2 you need only 25 percent of the memory required
  1348. for the full computation - but the image-quality will be almost the
  1349. same.
  1350. Smaller values cause the creation of more points using another
  1351. interpolation method. This may be necessary after combining
  1352. several 3D-effects which cause very large deformations.
  1353. In this case a qantization value of 0.5 will cause the interpotion
  1354. of every pixel by four quadrangles. This requires much more memory
  1355. and computation time but will produce images at very high quality.
  1356. @endnode
  1357. @node pcScale
  1358. @{b}Process-Scale-value@{ub}
  1359. This harmless-looking option is a real mega-feature: It allows you to
  1360. use Processor-scripts designed for a particular image-size to apply to
  1361. images of other dimensions.
  1362. Example: You have designed a large project of about 1000 frames
  1363.          processing images of a dimension 320x256. Now you want to
  1364.          create a preview-animation of the halve size.
  1365.          So simply set the Scale-value to 0.5.
  1366. Due the nature of such feature there are some restrictions:
  1367.  *the current image-sequence must have the same aspect as the one the
  1368.   script was designed for
  1369.  *some very special operators cannot be used, e.g. the font-size
  1370.   of the Text-operator cannot be scaled contingously
  1371. But the last point is no real restriction because these few
  1372. operators can be replaced (temporarily).
  1373. There is one very important thing you should always remember.
  1374. After changing the Process-Scale-value all process-parameters
  1375. which are in pixel-units are scaled. That may be cause very
  1376. strange results if you use images with a dimension which doesn't
  1377. fit this scale-value.
  1378. Example: You use a scale-value of 0.5 and the same images the
  1379.          script was designed for. In this case all size-dependant
  1380.          are divided by 2. If you script for example contains
  1381.          a 3D-operator with a camZ-value of -800 this value will
  1382.          be reduced to -400. This will cause a very strange
  1383.          view if your image has a size of 640x480, the program
  1384.          may even hang up due the rendering of almost infinite
  1385.          large faces.
  1386. So always don't forget to change the input-stream and not only
  1387. the Process-Scale-value !
  1388. @endnode
  1389. @node ProcessorPreview
  1390. @{b}Preview-Window@{ub}
  1391. The Preview is a very useful feature while testing complicated scripts.
  1392. It applies the current-Process-script to a smaller version
  1393. of the picture specified in the @{" SinglePicture-Window " link SinglePictureWindow}.
  1394. The change of any parameter is visible in the Process-Window
  1395. instantly (on fast machines). To abort the geneneration of
  1396. the preview hold the left mouse-button.
  1397. The width and depth of the preview can be specified from within the
  1398. @{" SinglePicture-Window " link SinglePictureWindow}.
  1399. A width of 160 and a depth of 4 is a should be always good choice.
  1400. The original width of the input-image is displayed in the
  1401. window title. This may be sometimes important adjusting size-dependant
  1402. parameters.
  1403. If you used a "normal" image-processor before you may have enjoyed
  1404. the feature of graphically specifing parameters like dragging a
  1405. rectangle for a Crop-effect. This "parameter-dragging" is
  1406. available in Wildfire, too.
  1407. The @{" ImageCoordinates-Window " link ImageCoordinatesWindow}
  1408. allows you to graphically modify some types of controls inside the
  1409. Preview-Window. The parameters of this controls (point, circle,
  1410. or rectangle) can be applied to several effects.
  1411. @{b}Shortcuts:@{ub}
  1412. <space>       refresh the image (e.g. after aborting)
  1413. <c>           open the @{" ImageCoordinates-Window " link ImageCoordinatesWindow}
  1414. @endnode
  1415. @node ImageCoordinatesWindow
  1416. @{b}ImageCoordinatesWindow@{ub}
  1417. The ImageCoordinates-Window displays informations about the
  1418. current image (the one spefied as input from within the
  1419. PCSinglePicture-Window) and allows you to modify several
  1420. effect-parameters graphically.
  1421. There a some types of controls which can be dragged and
  1422. modified using the mouse.
  1423. @{b}Functions@{ub}
  1424. Control-Type     type of control:
  1425.                    point : simple point, e.g. represting a upper-left edge
  1426.                            of a image to be composed
  1427.                    rect  : e.g. representing a crop-region
  1428.                    circle: e.g. representing the amount and the radius
  1429.                                 of a Twirl-effect
  1430. Left,Top         coordinates of the point (in coordiantes of the unscaled image),
  1431.                  upper-left edge of the rectangle,
  1432.                  centre of the circle,
  1433. Right, Bottom    lower-right edge of the rectangle
  1434. Angle            angle of the current drawn radius of the circle
  1435. Radius           radius of the circle
  1436. Apply            apply the settings to the currently selected effect
  1437. @{b}Currently supported PlugIns@{ub}
  1438.    BlackHole   (point, circle)
  1439.    BGradient   (point, circle)
  1440.    Circle      (point, circle)
  1441.    ColorRegion (point, circle)
  1442.    Crop        (rect)
  1443.    Magnet      (point, circle)
  1444.    Rectangle   (rect)
  1445.    Rotate      (point, circle)
  1446.    RotateBlur  (point, circle)
  1447.    Twirl       (point, circle)
  1448. @{b}Notes@{ub}
  1449. 1) To grab a region for a Crop-effect it is necessary to disable
  1450.    the effect (pressing <n>) before opening the ImageCoordinates-Window.
  1451.    Otherwise the image shown as preview is already cropped.
  1452.    This "nasty" behaviour is a result of the clear preview-concept and
  1453.    no "bug" or similar.
  1454. 2) This window can be also used to grab a color. If the control-type
  1455.    is set to "point" the original colors (i.e. of the untransformed image)
  1456.    at the current cursor-position are displayed as rgb-values.
  1457. 3) Graphically specified parameters have the higher priority.
  1458.    So it makes no sense to change a parameter from within
  1459.    @{" Parameter-Settings " link ParameterSettings}-Window while
  1460.    the ImageCoordinates-Window is open.
  1461. @endnode
  1462. @node SinglePictureWindow
  1463. @{b}SinglePicture-Window@{ub}
  1464. This window is made to process single images and to simplify the
  1465. creation of complicated Processor-scripts.
  1466. @{b}Functions:@{ub}
  1467. Input              input image, this field is by default initialized by
  1468.                    Wildfire's intro-picture because it must be always
  1469.                    filled
  1470. Frame              the current frame
  1471. Frames             number of frames, this value is only used as maximum
  1472.                    for the scrollbar below
  1473. Scrollbar          another way to change the current frame number
  1474. Test Process       execute the current Processor-script using the current
  1475.                    frame-number and display the result
  1476. Screenmode         select the screenmode used by the "Test Process"-function
  1477. Apply Dimensions   apply the dimensions of the current input-image to the
  1478.                    selected operator, e.g. if the selected operator is a
  1479.                    Twirl-effect the centre and the radius is set
  1480. Preview            toggle @{" Preview " link ProcessorPreview} on/off
  1481. Width              width of the preview
  1482. Depth              depth of the preview, if this value exceeds the
  1483.                    screen-depth the screen is updated automatically
  1484. Output             output-image
  1485. Save Image         execute the current Processor-script using the current
  1486.                    frame-number and save the result using the saver
  1487.                    selected in the @{" Savers-Window " link SaversWindow}
  1488. Save Rendered      execute the current Processor-script using the current
  1489.                    frame-number, render it using the settings made
  1490.                    in the Processor-Window and save the result as ILBM-image
  1491. @{b}Additional Shortcuts:@{ub}
  1492.  <v>               toggle @{" Preview " link ProcessorPreview} on/off
  1493.  <space>           Test Process
  1494.  <left>,<right>    decrease/increase the current frame-number
  1495. The useful <v>- and <space>-shortcuts are also available from within
  1496. every Effect-window and the Processor-Window.
  1497. @endnode
  1498. @node VariablesWindow
  1499. @{b}Variables-Window@{ub}
  1500. From within the Variables-Window time-dependent animation-parameters
  1501. are created, modified, loaded and saved.
  1502. @{b}Functions:@{ub}
  1503. Add                 add a variable
  1504. Kill                kill the selected Variable
  1505. Rename              rename the selected Variable
  1506. Envelope            open the @{" Envelope-Window " link EnvelopeWindow} to graphically
  1507.                     edit the current variable
  1508. Expression          specify a constant expression to be evaluated at runtime
  1509. File                filenames used for loading/saving of variables
  1510. Load                load variables from a previously saved Variables-file
  1511. Save                save all variables to disk
  1512. Clear               clear all variables
  1513. @{b}Variable-Types@{ub}
  1514. A variable can have only one type: either "Envelope" or "Expression".
  1515. After entering a string into the "Expression"-gadget the
  1516. type is changed automatically. Expressions are a very powerful
  1517. feature to create scripts which are independent of the image-dimensions.
  1518. The following symbols are predefined:
  1519.  pcWidth, - image-dimensions to be set by the @{" GetDimensions " link opGetDimensions}-PlugIn
  1520.  pcHeight
  1521.  pcFrame  - current Processor-frame
  1522.  pcXMin,  - (real) bounding-box of objects created by the @{" DataPlot " link opDataPlot}-,
  1523.  pcXMax,    @{" LWOB " link opLWOB}-, @{" ParPlot " link opParPlot}- and @{" ZPlot " link opZPlot}-PlugIn
  1524.  pcYMin,
  1525.  pcYMax,
  1526.  pcZMin,
  1527.  pcZMax
  1528. @{b}Example: Join two images of the same (unknown) size horizontally@{ub}
  1529.  1. *Add a variable "width"
  1530.     *Enter the expression "1*pcWidth"
  1531.     *Add a variable "2*width"
  1532.     *Enter the expression "2*pcWidth"
  1533.     *Add a variable "height"
  1534.     *Enter the expression "pcHeight"
  1535.  2. Load the 1st image into TEMP1 using the LoadImage-PlugIn
  1536.  3. Import the Dimensions using the GetDimensions-PlugIn
  1537.  4. Create a black background using the variables "2*width" and "height"
  1538.     using the CreateImage-PlugIn
  1539.  5. Compose the 1st image using the Compose-PlugIn
  1540.     (left=0, back=dest=STREAM, fore=TEMP1)
  1541.  6. Load the 2nd image into TEMP1
  1542.  7. Compose the 2nd image using the Compose-PlugIn
  1543.     (left=width, back=dest=STREAM, fore=TEMP1)
  1544. This may look a little bit complicated for the first time. But this
  1545. script is a very usefull macro and can be extended easily (e.g.
  1546. to compose 3x2 images).
  1547. @{b}Additional Notes@{ub}
  1548. After clearing a Variable all informations about this Variable
  1549. are lost - even in the Processor-script.
  1550. An often-used ramp may be easily created using the expression
  1551. "pcFrame/frames*endValue", e.g. "pcFrame/60*360" for a rotation
  1552. from 0 to 360 degrees in 60 frames.
  1553. @endnode
  1554. @node SaversWindow
  1555. @{b}Savers-Window@{ub}
  1556. From within this window the Saver used for writing Truecolor-images
  1557. is choosen. Most Savers offer an options-window which can be
  1558. accessed from within the Savers-Window, too.
  1559. Another purpose is to add or remove Saver-PlugIns.
  1560. Saver-PlugIns contain both the save- and the load-functions for a
  1561. particular image-format. Removing a Saver causes the loss of the
  1562. capability to load and save images of this file-format.
  1563. All unknown fileformats are handled via datatypes which is restricted
  1564. to the operation of loading.
  1565. Most Saver-PlugIns allow you to disable the loader-function explicitly.
  1566. This may be necessary if the Wildfire-loader doesn't support a
  1567. particular sub-format and you want to use datatypes. An example is
  1568. the PNG-format with it's lots of options.
  1569. There a many people saying "may xxx-datatype is the best, the greatest
  1570. and the fastest". If this is also your opinion you may
  1571. switch the loaders permanently off saving the prefs after
  1572. disabling.
  1573. (In fact it's nearly impossible to write a datatypes which operates
  1574.  faster than Wildfire because this program always was to designed
  1575.  to be fast and not to conserve memory.)
  1576. @{b}Functions:@{ub}
  1577. Add            add an external Saver-PlugIn
  1578. Delete         delete the selected Saver-PlugIn
  1579. SavePrefs      save all of the options of the current PlugIn
  1580. Options        open the options-window of the selected Saver-PlugIn
  1581. @{b}Available Savers@{ub}
  1582.  @{" ILBM     " link svILBM}
  1583.  @{" JPEG     " link svJPEG}
  1584.  @{" PNG      " link svPNG}
  1585.  @{" PPM      " link svPPM}
  1586.  @{" ADProGIF " link svADProGIF}
  1587. @endnode
  1588. @node svILBM
  1589. @{b}ILBM-Saver@{ub}
  1590. This PlugIn saves and loads images in the ILBM-format.
  1591. @{b}Options:@{ub}
  1592. Compression     ByteRun1/Node
  1593. Loader          disable/enable the loader
  1594. The choice of no compression is good for saving huge images
  1595. (e.g. at 600dpi). In such cases there may be not enough
  1596. memory to do any compression.
  1597. @endnode
  1598. @node svJPEG
  1599. @{b}JPEG-Saver@{ub}
  1600. This PlugIn saves and loads images in the JPEG-format.
  1601. @{b}Options:@{ub}
  1602. Quality         remaining image-quality in percent
  1603. Format          toggle Normal/Progressive-format
  1604. Optimize        toggle Huffman-table-optimizing on/off
  1605. Output          toggle TrueColor/GrayScale-output
  1606. Loader          disable/enable the loader
  1607. In the most cases the TrueColor-Progressive-format should
  1608. be the best choice.
  1609. This PlugIn uses routines of the @{b}IJG JPEG Library@{ub}
  1610. developed by @{b}The Independent JPEG Group.@{ub}
  1611. @endnode
  1612. @node svPNG
  1613. @{b}PNG-Saver@{ub}
  1614. This PlugIn saves and loads images in the PNG-format.
  1615. @{b}Options:@{ub}
  1616. Format          various formats are supported:
  1617.                  24Bit RGB   : TrueColor-image
  1618.                   8Bit Color : rendered image in 256 colors
  1619.                                (good GIF-replacement)
  1620.                   8Bit Gray  : grayscale-image
  1621.                   4Bit color : rendered image in 16 colors
  1622.                   Black&White: rendered Grayscale image in 2 colors
  1623. Loader          disable/enable the loader
  1624. This PlugIn uses routines of the @{b}PNG Reference Library@{ub}
  1625. developed by @{b}Group 42, Inc.@{ub}
  1626. @endnode
  1627. @node svPPM
  1628. @{b}PPM-Saver@{ub}
  1629. This PlugIn saves and loads images in the PPM-format. All types
  1630. 1-6 (at 8 bits per pixel) are supported by both the loader and saver.
  1631. @{b}Options:@{ub}
  1632. Type            image-type:
  1633.                   PPM   : truecolor
  1634.                   PGM   : grayscale
  1635.                   PBM   : black and white
  1636. Format          file-format:
  1637.                   Raw   : binary (smaller files)
  1638.                   ASCII : displayable characters (large files)
  1639. Loader          disable/enable the loader
  1640. @endnode
  1641. @node svADProGIF
  1642. @{b}ADPro-GIF-Saver@{ub}
  1643. This PlugIn uses ADPro to save images in GIF-format.
  1644. @{b}Options:@{ub}
  1645.  ADPro   : Command-line which is executed automatically if
  1646.            ADPro doesn't run while invoking the saver,
  1647.            the default is "adpro:ADPro mm=1000000"
  1648.  Depth   : image depth (1...8)
  1649.  Dither  : turn dithering on or off
  1650.  Palette : use a dynamic or static palette
  1651. @{b}Notes:@{ub}
  1652. 1) Dithering should be switched to "on" using small depths.
  1653. 2) To save a sequence of images using the same (locked) palette
  1654.    you have to save the first picture with the "Palette=Unlocked"-option.
  1655.    Otherwise a "random" palette is used.
  1656. 3) In combination with the @{" ConvertImages " link ConvertImagesPlugIn}-PlugIn
  1657.    this saver may be very useful designing HTML-pages (gif-animations!)
  1658.    (Once again: Don't forget to set up the palette before saving
  1659.     an image-sequence with the same palette.)
  1660. @endnode
  1661. @node PaletteWindow
  1662. @{b}Palette-Window@{ub}
  1663. The Palette-Window lets you create, modify, load and save a
  1664. locked Palette used by the Processor while rendering images.
  1665. @{b}Functions:@{ub}
  1666. File              file to load/save palettes
  1667. Load              load the palette from the selected file,
  1668. Save              save the current palette to disk
  1669. Red, Green, Blue  values of the current selected palette-entry
  1670. Copy              duplicate the current color
  1671. Exchange          exchange two colors
  1672. Spread            create a color-transition between two colors
  1673. Undo              reset the last changed color to its previous value
  1674. State             toggle the state of the Palette
  1675. Use               make all performed changed permanent
  1676. Cancel            cancel all apllied changes
  1677. If the state of the Palette is enabled it will be used for all
  1678. forthcoming render-processes. This is very important if
  1679. you want to create animations with locked colors using
  1680. the Processor.
  1681. If you use a screendepth smaller than 8 no change of Palette
  1682. will be visible (indicated by changing screen-colors).
  1683. In the other case while pressing the right mouse-button the
  1684. normal screen-colors are used for the lower palette-entries
  1685. which is important to locate gadgets.
  1686. @endnode
  1687. @node CalculatorWindow
  1688. @{b}Calculator-Window@{ub}
  1689. The Calculator-window is made to easily evaluate mathematical expressions
  1690. and to define or view user-defined symbols.
  1691. Most of Wildfire's gadgets allow you to enter mathematical expressions, too.
  1692. The symbols defined from within the Calculator-Window can be accessed
  1693. from this gadgets, too.
  1694. @{b}Functions:@{ub}
  1695. 1st string-gadget      expression to evaluate
  1696. Results                shows the last three results
  1697. Symbols                list of all user-defined symbols, especially constants
  1698. Load                   load symbols and expressions from a previously saved file
  1699. Save                   save all symbols, expressions and the Evaluate-x-range
  1700. Evaluate               open the @{" Evaluate-Window    " link EvaluateWindow}
  1701. To define a symbol enter it's name and optionally it's value,
  1702. e.g. "a=sqrt(9)/2" initializes the symbol "a" with the value 1.5.
  1703. Later you could enter the expression "a/2" into of the Processor-gadgets.
  1704. If the corresponding value (e.g. a zoom-factor) is of type float it
  1705. will be set to 0.75 otherwise it will be rounded to 1.
  1706. @endnode
  1707. @node EvaluateWindow
  1708. @{b}Evaluate-Window@{ub}
  1709. The Evaluate-window is made to easily create evaluated data files.
  1710. @{b}Functions:@{ub}
  1711. Filename               Filename of the generated data file
  1712. Expression             Expression to evaluate
  1713. XMin                   X-start-value
  1714. XMax                   X-end-value
  1715. XStep                  X-increment
  1716. Evaluate               Start the computation
  1717. View                   View the results using the default editor
  1718. If the increment is negetive you can use a start-value which
  1719. is larger than the end-value.
  1720. All computations are done using double precision.
  1721. @endnode
  1722. @node EnvelopeWindow
  1723. @{b}Envelope-Window@{ub}
  1724. From within this window all time-dependent animation-parameters
  1725. (called "Envelopes") are created and modified.
  1726. An Envelope is a twodimensional curve wich can be specified
  1727. both graphically and using constant numerical expressions
  1728. which are evaluated at runtime.
  1729. The x-coordinate of these twodimensional curves represents
  1730. the frame-number (e.g. the time), the value of the animation-parameter
  1731. is reperesented by the y-coordinate, respectively.
  1732. (Numerical expressions are specified from within the @{" Variables-Window " link VariablesWindow}.)
  1733. If the framber-number of the Processor exceeds the range of an
  1734. Envelope the first or last y-Value is used. This means if your Envelope
  1735. only contains one point the y-value of this point is used for
  1736. all frame-numbers.
  1737. Most operations are made using the mouse. A point is selected
  1738. by clicking on it. Moving the mouse while holding the left
  1739. button causes the selected point to be dragged.
  1740. The whole graph can be scrolled using the cursor-keys.
  1741. @{b}Functions:@{ub}
  1742. XRange            the displayed x-range
  1743. YRange            the displayed y-range
  1744. X                 the x-value (frame-number) of the selected point
  1745. Y                 the y-value of the selected point
  1746. Add Point         add a point
  1747. Kill Point        kill a point
  1748. Type              change the type of the Envelope:
  1749.                    Linear: connect two points by straight lines
  1750.                    Spline: use a cubic spline interpolation to connect points
  1751.                    Bezier: surround points by bezier-curves
  1752. View All          view the whole Envelope
  1753. File              filename to save/load Envelopes
  1754. Load              load a previously saved Envelope
  1755. Save              save the current Envelope to disk
  1756. Use               make all performed changes permanent
  1757. Cancel            discard all applied changes
  1758. Advanced Options  open the @{" EnvelopeAdvanced-Window " link EnvelopeAdvancedWindow} to perform
  1759.                   more complex operations
  1760. @{b}Additional ShortCuts:@{ub}
  1761. <t>               sort all points (of envelopes which where imported
  1762.                                    from old Process-files)
  1763. @endnode
  1764. @node EnvelopeAdvancedWindow
  1765. @{b}EnvelopeAdvanced-Window@{ub}
  1766. From within this window seldom-used but very useful transformations
  1767. are applied to Envelopes.
  1768. @{b}Functions:@{ub}
  1769. @{u}Point-Operations:@{uu}
  1770. First, Last, Step     point-range affected by transformations
  1771. YValue                x-value used by the transformation
  1772. YValue                y-value used by the transformation
  1773. Scale                 scale the Envelope by the x- and y- value specified below
  1774. Shift                 shift the Envelope by the x- and y- value specified below
  1775. @{u}Evaluate Expression:@{uu}
  1776. XMin, XMax, XStep     x-range used for evaluating
  1777. Expression            mathematical expression as function of "x"
  1778. Evaluate              create an Envelope using the x-range as frame-numbers
  1779.                       and the evaluated values as y-value
  1780. @{u}Import/Export:@{uu}
  1781. Load Curve            load a 2D-data file used by plotting programs 
  1782.                       and convert it as an Envelope
  1783. Save Curve            save the current Envelope as 2D-datafile
  1784. Load Timecodes        load a previously saved Timecodes-file and convert
  1785.                       it as an Envelope
  1786. Save Timecodes        save the current Envelope as a Timecodes-file used
  1787.                       from within the @{"Timecodes-Window" link TimecodesWindow}
  1788. @endnode
  1789. @node OperatorsWindow
  1790. @{b}Operators-Window@{ub}
  1791. The Operators-Window opens after pressing the "Add"-button of the
  1792. Processor-Window and allows you to select an operator which will be
  1793. appended to your Processor-script.
  1794. Another purpose is to add PlugIns to the internal database
  1795. or to remove them.
  1796. All operations can be done both using the mouse and the keyboard.
  1797. Use the cursor-keys to browse through the lists and the <enter>-key
  1798. to apply the selection.
  1799. @{b}Functions:@{ub}
  1800. Add             to load one or more PlugIns from harddisk
  1801. Delete          to delete the selected PlugIn
  1802. Select          to append the selected operator to the Processor-script
  1803. Cancel          to cancel the selection
  1804. @{b}Operator-PlugIns:@{ub}
  1805. There are five basic types of Operator-PlugIns according to their
  1806. purpose:
  1807.  @{b}Buffer:@{ub} modifying or creating buffers
  1808.    @{" Add             " link opAdd            } Add two images                             @{" Example " system "visage wf:doc/pictures/Add.pic"}
  1809.    @{" AutoCrop        " link opAutoCrop       } Remove outer regions with the same color
  1810.    @{" Compose         " link opCompose        } Compose two images                         @{" Example " system "visage wf:doc/pictures/Compose.pic"}
  1811.    @{" CreateImage     " link opCreateImage    } Create a colored image                     @{" Example " system "visage wf:doc/pictures/CreateImage.pic"}
  1812.    @{" Crop            " link opCrop           } Cut off a rectangular area of an image
  1813.    @{" DLA             " link opDLA            } Create a colored image                     @{" Example " system "visage wf:doc/pictures/DLA.pic"}
  1814.    @{" GSImport        " link opGSImport       } Run Ghostscript to import Postscript-files @{" Example " system "visage wf:doc/pictures/GSImport.pic"}
  1815.    @{" KillTemp        " link opKillTemp       } Kill a TEMP-buffer
  1816.    @{" LoadImage       " link opLoadImage      } Load an image from harddisk
  1817.    @{" LoadTemp        " link opLoadTemp       } Copy a TEMP-buffer to the main stream
  1818.    @{" Plasma          " link opPlasma         } Create a colored image                     @{" Example " system "visage wf:doc/pictures/Plasma.pic"}
  1819.    @{" ReplaceComp     " link opReplaceComp    } Replace a color-channel of an image        @{" Example " system "visage wf:doc/pictures/ReplaceComp.pic"}
  1820.    @{" SaveImage       " link opSaveImage      } Save an image to disk
  1821.    @{" SaveTemp        " link opSaveTemp       } Copy the main stream to a TEMP-buffer
  1822.  @{b}2D-F/X:@{ub} performing 2D-transformations
  1823.    @{" BlackHole       " link opBlackHole      } Deform an image                            @{" Example " system "visage wf:doc/pictures/BlackHole.pic"}
  1824.    @{" Bump            " link opBump           } Add a third dimension to an image          @{" Example " system "visage wf:doc/pictures/Bump.pic"}
  1825.    @{" Cartesian2Polar " link opCartesian2Polar} Transform the coordinates of an image      @{" Example " system "visage wf:doc/pictures/Cartesian2Polar.pic"}
  1826.    @{" Displace        " link opDisplace       } Randomly exchange points of an image       @{" Example " system "visage wf:doc/pictures/Displace.pic"}
  1827.    @{" Flip            " link opFlip           } Mirror an image along various directions   @{" Example " system "visage wf:doc/pictures/Flip.pic"}
  1828.    @{" Halve           " link opHalve          } Quickly halve the dimensionsions of an image
  1829.    @{" Magnet          " link opMagnet         } Deform the image                           @{" Example " system "visage wf:doc/pictures/Magnet.pic"}
  1830.    @{" MotionBlur      " link opMotionBlur     } Apply a touch of motion to an image        @{" Example " system "visage wf:doc/pictures/MotionBlur.pic"}
  1831.    @{" Pixelize        " link opPixelize       } Reduce the resolution of an image          @{" Example " system "visage wf:doc/pictures/Pixelize.pic"}
  1832.    @{" Roll            " link opRoll           } Scroll an image along every direction      @{" Example " system "visage wf:doc/pictures/Roll.pic"}
  1833.    @{" Rotate          " link opRotate         } Rotate (a portion) of the image            @{" Example " system "visage wf:doc/pictures/Rotate.pic"}
  1834.    @{" RotateBlur      " link opRotateBlur     } Apply a touch of motion to an image        @{" Example " system "visage wf:doc/pictures/RotateBlur.pic"}
  1835.    @{" Scale           " link opScale          } Scale an image
  1836.    @{" Shear           " link opShear          } Shear an image                             @{" Example " system "visage wf:doc/pictures/Shear.pic"}
  1837.    @{" ShiftLines      " link opShiftLines     } Randomly shift the lines of an image       @{" Example " system "visage wf:doc/pictures/ShiftLines.pic"}
  1838.    @{" TileBrick       " link opTileBrick      } Replicate a (small) image                  @{" Example " system "visage wf:doc/pictures/TileBrick.pic"}
  1839.    @{" Twirl           " link opTwirl          } Deform an image                            @{" Example " system "visage wf:doc/pictures/Twirl.pic"}
  1840.    @{" Wave            " link opWave           } Apply a harmonic 2D-Wave to the image      @{" Example " system "visage wf:doc/pictures/Wave.pic"}
  1841.    @{" Wind            " link opWind           } Blur the edges of an image                 @{" Example " system "visage wf:doc/pictures/Wind.pic"}
  1842.  @{b}Color:@{ub}  applying color-transformations
  1843.    @{" Alpha           " link opAlpha          } Color Changes using an Alpha Channel       @{" Example " system "visage wf:doc/pictures/Alpha.pic"}
  1844.    @{" Antique         " link opAntique        } Change the colors to look "antique"        @{" Example " system "visage wf:doc/pictures/Antique.pic"}
  1845.    @{" Balancing       " link opBalancing      } Change the colors using ddifferent methods @{" Example " system "visage wf:doc/pictures/Balancing.pic"}
  1846.    @{" BGradient       " link opBGradient      } Advanced balancing                         @{" Example " system "visage wf:doc/pictures/BGradient.pic"}
  1847.    @{" ColorRegion     " link opColorRegion    } Grab a region of similar colors            @{" Example " system "visage wf:doc/pictures/ColorRegion.pic"}
  1848.    @{" ColorToGray     " link opColorToGray    } Convert an image into grayscale            @{" Example " system "visage wf:doc/pictures/ColorToGray.pic"}
  1849.    @{" Convolve        " link opConvolve       } Apply a convolution-filter                 @{" Example " system "visage wf:doc/pictures/Convolve.pic"}
  1850.    @{" EdgeDetect      " link opEdgeDetect     } Advanced edge-detection                    @{" Example " system "visage wf:doc/pictures/EdgeDetect.pic"}
  1851.    @{" Emboss          " link opEmboss         } Change an image to look like made of stone @{" Example " system "visage wf:doc/pictures/Emboss.pic"}
  1852.    @{" LineArt         " link opLineArt        } Create a LineArt-effect                    @{" Example " system "visage wf:doc/pictures/LineArt.pic"}
  1853.    @{" LUT             " link opLUT            } Change the colors using a LookUpTable      @{" Example " system "visage wf:doc/pictures/LUT.pic"}
  1854.    @{" MedianFilter    " link opMedianFilter   } Apply a medianfilter to an image
  1855.    @{" Negative        " link opNegative       } Turn dark portions into light portions     @{" Example " system "visage wf:doc/pictures/Negative.pic"}
  1856.    @{" Neon            " link opNeon           } Add glow to an image                       @{" Example " system "visage wf:doc/pictures/Neon.pic"}
  1857.    @{" Noise           " link opNoise          } Apply random noise to an image             @{" Example " system "visage wf:doc/pictures/Noise.pic"}
  1858.    @{" OilTransfer     " link opOilTransfer    } Change the image to look like "oilpainted" @{" Example " system "visage wf:doc/pictures/OilTransfer.pic"}
  1859.    @{" Posterise       " link opPosterise      } Reduce the color-information of an image   @{" Example " system "visage wf:doc/pictures/Posterise.pic"}
  1860.    @{" RIP             " link opRIP            } Romove isolated pixels
  1861.    @{" SwapRGB         " link opSwapRGB        } Swap the color-components of an image      @{" Example " system "visage wf:doc/pictures/SwapRGB.pic"}
  1862.    @{" Threshold       " link opThreshold      } Create alpha channels                      @{" Example " system "visage wf:doc/pictures/Threshold.pic"}
  1863.  @{b}3D-F/X:@{ub}   performing complex 3D-transformations on 3D-temp-buffers or images
  1864.    @{" Axis3D          " link opAxis3D         } Add axes in very high quality to plots     @{" Example " system "visage wf:doc/pictures/Axis3D.pic"}
  1865.    @{" Bump3D          " link opBump3D         } Real Bump-mapping                          @{" Example " system "visage wf:doc/pictures/Bump3D.pic"}
  1866.    @{" ColorCube       " link opColorCube      } 3D color- or alpha-space                   @{" Example " system "visage wf:doc/pictures/ColorCube.pic"}
  1867.    @{" Cube            " link opCube           } Wrap an image onto a cube                  @{" Example " system "visage wf:doc/pictures/Cube.pic"}
  1868.    @{" DataPlot        " link opDataPlot       } Plot threedimensional data-sets            @{" Example " system "visage wf:doc/pictures/DataPlot.pic"}
  1869.    @{" Genlock3D       " link opGenlock3D      } Threedimensional genlock                   @{" Example " system "visage wf:doc/pictures/Genlock3D.pic"}
  1870.    @{" Join3D          " link opJoin3D         } Join two 3D-temp-buffers                   @{" Example " system "visage wf:doc/pictures/Join3D.pic"}
  1871.    @{" KillTemp3D      " link opKillTemp3D     } Kill a 3D-temp-buffer
  1872.    @{" LWOB            " link opLWOB           } Import Lightwave-objects                   @{" Example " system "visage wf:doc/pictures/LWOB.pic"}
  1873.    @{" Magnet3D        " link opMagnet3D       } Grab and drag portions of an image         @{" Example " system "visage wf:doc/pictures/Magnet3D.pic"}
  1874.    @{" Morph           " link opMorph          } Interpolate between two objects            @{" Example " system "visage wf:doc/pictures/Morph.pic"}
  1875.    @{" ParPlot         " link opParPlot        } Plot threedimensional parametric functions @{" Example " system "visage wf:doc/pictures/ParPlot.pic"}
  1876.    @{" Perspective     " link opPerspective    } Add perspective to an image                @{" Example " system "visage wf:doc/pictures/Perspective.pic"}
  1877.    @{" SetColor        " link opSetColor       } Modify the color of objects                @{" Example " system "visage wf:doc/pictures/SetColor.pic"}
  1878.    @{" Sphere          " link opSphere         } Wrap an image onto a complete sphere       @{" Example " system "visage wf:doc/pictures/Sphere.pic"}
  1879.    @{" Transform3D     " link opTransform3D    } Perform standard 3d-transformations        @{" Example " system "visage wf:doc/pictures/Transform3D.pic"}
  1880.    @{" Triangulate     " link opTriangulate    } Convert images into smooth phong-object    @{" Example " system "visage wf:doc/pictures/Triangulate.pic"}
  1881.    @{" Twirl3D         " link opTwirl3D        } Apply a Twirl-effect along any axis        @{" Example " system "visage wf:doc/pictures/Twirl3D.pic"}
  1882.    @{" Twist           " link opTwist          } Deform an image using rotation             @{" Example " system "visage wf:doc/pictures/Twist.pic"}
  1883.    @{" Water           " link opWater          } Apply an anharmonic water-wave to an image @{" Example " system "visage wf:doc/pictures/Water.pic"}
  1884.    @{" Wave3D          " link opWave3D         } Apply a harmonic wave to an image          @{" Example " system "visage wf:doc/pictures/Wave3D.pic"}
  1885.    @{" Wrap            " link opWrap           } Wrap the image on a sphere or a tube       @{" Example " system "visage wf:doc/pictures/Wrap.pic"}
  1886.    @{" ZPlot           " link opZPlot          } Plot threedimensional functions            @{" Example " system "visage wf:doc/pictures/ZPlot.pic"}
  1887.  @{b}Misc:@{ub}     very special or seldom-used PlugIns
  1888.    @{" ARexx           " link opARexx          } Exchange images with other applications
  1889.    @{" Circle          " link opCircle         } Draw a circle                              @{" Example " system "visage wf:doc/pictures/Circle.pic"}
  1890.    @{" Comment         " link opComment        } Add a comment to the Processor-script
  1891.    @{" GetDimensions   " link opGetDimensions  } Apply image-dimensions to variables
  1892.    @{" Raster          " link opRaster         } Apply a black raster to an image           @{" Example " system "visage wf:doc/pictures/Raster.pic"}
  1893.    @{" Rectangle       " link opRectangle      } Draw a rectangle                           @{" Example " system "visage wf:doc/pictures/Rectangle.pic"}
  1894.    @{" SetBackGround   " link opSetBackGround  } Change the global background
  1895.    @{" Text            " link opText           } Render text using various styles           @{" Example " system "visage wf:doc/pictures/Text.pic"}
  1896. Note: After pressing one of the @{" Example " system "visage wf:Motivation2.jpg"}-buttons the program
  1897.       "visage" is started to display a corresponding example.
  1898. @endnode
  1899. @node opAdd
  1900. @{b}Add-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Add.pic"}
  1901. This operator adds or subtracts two images.
  1902. @{b}Parameters@{ub}
  1903. Name        Possible Values/Unit          Description
  1904. @{uu}
  1905. Input1      STREAM, TEMP1, ..., TEMP8     1st source buffer
  1906. Input2      STREAM, TEMP1, ..., TEMP8     2nd source buffer
  1907. Output      STREAM, TEMP1, ..., TEMP8     destination buffer
  1908. Mode        ADD, SUBTRACT                 add or subtract the images
  1909. Since version 3.74 all numerical parameters are adjusted from within
  1910. the @{" Parameter-Settings " link ParameterSettings}-Window.
  1911. @endnode
  1912. @node opCompose
  1913. @{b}Compose-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Compose.pic"}
  1914. This operator composes two images using several genlock-methods
  1915. and optionaly an alpha-channel.
  1916. @{b}Parameters@{ub}
  1917. Name        Possible Values/Unit                  Description
  1918. @{uu}
  1919. Background  STREAM, TEMP1, ..., TEMP8        background image
  1920. Foreground  STREAM, TEMP1, ..., TEMP8        foreground image
  1921. Destination STREAM, TEMP1, ..., TEMP8        destination buffer
  1922. Alpha       NONE, STREAM, TEMP1, ..., TEMP8  optional alpha buffer
  1923. Left        pixels                           left edge of the foreground image
  1924. Top         pixels                           top edge of the foreground image
  1925. Mix         0...100                          transparency of the foreground image
  1926. CentreX     ON, OFF                          center the foreground horizontally
  1927. CentreY     ON, OFF                          center the foreground vertically
  1928. Red1,       0...255                          genlock-color 1
  1929. Green2,     0...255
  1930. Blue        0...255
  1931. Red2,       0...255                          genlock-color 2
  1932. Green2,     0...255
  1933. Blue2       0...255
  1934. Genlock                                      type of genlock:
  1935.             NONE                              no genlock
  1936.             SINGLE COLOR                      normal genlock using color 1
  1937.             INRANGE                           extended genlock using all colors
  1938.                                               inside the range color1...color2
  1939.             OUTRANGE                          extended genlock using all colors
  1940.                                               outside the range color1...color2
  1941. Since version 3.74 all numerical parameters are adjusted from within
  1942. the @{" Parameter-Settings " link ParameterSettings}-Window.
  1943. @endnode
  1944. @node opCreateImage
  1945. @{b}CreateImage-Operator@{ub} @{" Example " system "visage wf:doc/pictures/CreateImage.pic"}
  1946. This operator creates an image with an optional color-transition.
  1947. @{b}Parameters@{ub}
  1948. Name        Possible Values/Unit            Description
  1949. @{uu}
  1950. Output      STREAM, TEMP1, ..., TEMP8  output-buffer
  1951. Width       pixels                     width of the generated image
  1952. Height      pixels                     height of the generated image
  1953. Palette     (gadget)                   select one of the four edges
  1954. Red,        0...255                    color of the selected edge
  1955. Green,      0...255
  1956. Blue        0...255
  1957. HCopy       (gadget)                   copy the selected color horizontally
  1958. VCopy       (gadget)                   copy the selected color vertically
  1959. HVCopy      (gadget)                   apply the selected color to all four edges
  1960. Since version 3.74 all numerical parameters are adjusted from within
  1961. the @{" Parameter-Settings " link ParameterSettings}-Window.
  1962. @endnode
  1963. @node opNeon
  1964. @{b}Neon-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Neon.pic"}
  1965. This operator adds a glow effect to an image.
  1966. @{b}Parameters@{ub}
  1967. Name        Possible Values/Unit            Description
  1968. @{uu}
  1969. Output      STREAM, TEMP1, ..., TEMP8  output-buffer
  1970. Red,        0...255                    color of the part of the image
  1971. Green,      0...255                    to midify
  1972. Blue        0...255
  1973. Radius      pixels                     radius of the effect
  1974. Tolerance   0...1.0                    color-tolerance
  1975. Intensity   0...1.0                    intensity
  1976. Algorithm                              algorithm to use
  1977.             TRIVIAL                    use a algorithm like DPaint to surround
  1978.                                        the affected image-cluster
  1979.             HK-CLUSTER                 use a Hoshen-Kopelman-algorithm [1] to
  1980.                                        detect and modify individual clusters
  1981. [1] Phys. Rev.B14, 3428 (1976)
  1982. Since version 3.74 all numerical parameters are adjusted from within
  1983. the @{" Parameter-Settings " link ParameterSettings}-Window.
  1984. @endnode
  1985. @node opCrop
  1986. @{b}Crop-Operator@{ub}
  1987. This operator cuts out a rectangular area of an image.
  1988. @{b}Parameters@{ub}
  1989. Name        Possible Values/Unit            Description
  1990. @{uu}
  1991. Input       STREAM, TEMP1, ..., TEMP8  input buffer
  1992. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  1993. Left        pixels                     left edge of the rectangle
  1994. Top         pixels                     top edge of the rectangle
  1995. Width       pixels                     width of the rectangle
  1996. Height      pixels                     height of the rectangle
  1997. Since version 3.74 all numerical parameters are adjusted from within
  1998. the @{" Parameter-Settings " link ParameterSettings}-Window.
  1999. @{b}Notes@{ub}
  2000. 1) This PlugIn supports "parameter-dragging" from within
  2001.    the @{" ImageCoordinates-Window " link ImageCoordinatesWindow}.
  2002. @endnode
  2003. @node opAutoCrop
  2004. @{b}AutoCrop-Operator@{ub}
  2005. This operator removes outer regions with the same color.
  2006. @{b}Parameters@{ub}
  2007. Name        Possible Values/Unit            Description
  2008. @{uu}
  2009. Input       STREAM, TEMP1, ..., TEMP8  input buffer
  2010. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  2011. Since version 3.74 all numerical parameters are adjusted from within
  2012. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2013. @endnode
  2014. @node opKillTemp
  2015. @{b}KillTemp-Operator@{ub}
  2016. This operator clears a TEMP-buffer and frees it's memory.
  2017. @{b}Parameters@{ub}
  2018. Name        Possible Values/Unit      Description
  2019. @{uu}
  2020. Buffer      TEMP1, ... TEMP8     TEMP-buffer to kill
  2021. Since version 3.74 all numerical parameters are adjusted from within
  2022. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2023. @endnode
  2024. @node opKillTemp3D
  2025. @{b}KillTemp3D-Operator@{ub}
  2026. This operator clears a 3D-temp-buffer and frees it's memory.
  2027. @{b}Parameters@{ub}
  2028. Name        Possible Values/Unit      Description
  2029. @{uu}
  2030. Buffer      TEMP3D1, ... TEMP3D4      3d-temp-buffer to kill
  2031. Since version 3.74 all numerical parameters are adjusted from within
  2032. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2033. @endnode
  2034. @node opLoadImage
  2035. @{b}LoadImage-Operator@{ub}
  2036. This operator loads an image or an image-sequence from disk.
  2037. @{b}Parameters@{ub}
  2038. Name        Possible Values/Unit            Description
  2039. @{uu}
  2040. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  2041. Sequence    string                     complete filename of an single image
  2042.                                        or base-filename of an image-sequence
  2043. Loop        integer                    length of the image-sequence
  2044. Shift       integer                    shift-value for the filenames of an image-sequence
  2045. Show        (gadget)                   show the selected image
  2046. Since version 3.74 all numerical parameters are adjusted from within
  2047. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2048. @endnode
  2049. @node opLoadTemp
  2050. @{b}LoadTemp-Operator@{ub}
  2051. This operator replaces the input-stream with a TEMP-buffer.
  2052. @{b}Parameters@{ub}
  2053. Name        Possible Values/Unit         Description
  2054. @{uu}
  2055. Buffer      TEMP1, ... TEMP8        TEMP-buffer which holds the image
  2056.                                     to apply
  2057. Since version 3.74 all numerical parameters are adjusted from within
  2058. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2059. @endnode
  2060. @node opPlasma
  2061. @{b}Plasma-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Plasma.pic"}
  2062. This operator creates an image using a fractal algorithm.
  2063. @{b}Parameters@{ub}
  2064. Name        Possible Values/Unit            Description
  2065. @{uu}
  2066. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  2067. Width       pixels                     width of the generated image
  2068. Height      pixels                     height of the generated image
  2069. Dimension   integer                    fractal dimension which affects the
  2070.                                        smoothness of the fractal
  2071. Seed        integer                    parameter which affects the shape
  2072. Since version 3.74 all numerical parameters are adjusted from within
  2073. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2074. @endnode
  2075. @node opDLA
  2076. @{b}DLA-Operator@{ub} @{" Example " system "visage wf:doc/pictures/DLA.pic"}
  2077. This operator creates an image using a "diffusion limited
  2078. aggregation"-algorithm [1].
  2079. @{b}Parameters@{ub}
  2080. Name        Possible Values/Unit            Description
  2081. @{uu}
  2082. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  2083. Width       pixels                     width of the generated image
  2084. Height      pixels                     height of the generated image
  2085. Iterations  integer                    number of iterations which affects
  2086.                                        the size of the generated cluster
  2087. Seed        integer                    parameter which affects the shape
  2088. Red,        0...255                    color of the generated image
  2089. Green,      0...255
  2090. Blue        0...255
  2091. [1] T.A. Witten; L.M. Sander, Phys. Rev. Lett. 47, 1400 (1981)
  2092. Since version 3.74 all numerical parameters are adjusted from within
  2093. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2094. @endnode
  2095. @node opReplaceComp
  2096. @{b}ReplaceComp-Operator@{ub} @{" Example " system "visage wf:doc/pictures/ReplaceComp.pic"}
  2097. This operator replaces a color-channel of an image with the
  2098. red-channel of an other image. The main purpose of this
  2099. PlugIn is to create Stereo-3D-Images.
  2100. @{b}Parameters@{ub}
  2101. Name        Possible Values/Unit            Description
  2102. @{uu}
  2103. Input1      STREAM, TEMP1, ..., TEMP8  input buffer
  2104. Input2      STREAM, TEMP1, ..., TEMP8  image which replaces the selected channel
  2105. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  2106. Component   RED, GREEN, BLUE           color-channel to replace
  2107. Since version 3.74 all numerical parameters are adjusted from within
  2108. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2109. @endnode
  2110. @node opSaveImage
  2111. @{b}SaveImage-Operator@{ub}
  2112. This operator saves images to harddisk.
  2113. @{b}Parameters@{ub}
  2114. Name        Possible Values/Unit            Description
  2115. @{uu}
  2116. Input       STREAM, TEMP1, ..., TEMP8  image to save
  2117. File        string                     filename
  2118. Numbering   string                     C-formatstring, if this string is
  2119.                                        non-empty the current frame-number
  2120.                                        is appended to filename
  2121. Since version 3.74 all numerical parameters are adjusted from within
  2122. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2123. @endnode
  2124. @node opSaveTemp
  2125. @{b}SaveTemp-Operator@{ub}
  2126. This operator copies the content of the input-stream to a TEMP-buffer.
  2127. @{b}Parameters@{ub}
  2128. Name        Possible Values/Unit        Description
  2129. @{uu}
  2130. Buffer      TEMP1, ... TEMP8       Buffer to copy to
  2131. Since version 3.74 all numerical parameters are adjusted from within
  2132. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2133. @endnode
  2134. @node opBlackHole @{" Example " system "visage wf:doc/pictures/BlackHole.pic"}
  2135. @{b}BlackHole-Operator@{ub}
  2136. This operator contracts the whole image.
  2137. @{b}Parameters@{ub}
  2138. Name        Possible Values/Unit            Description
  2139. @{uu}
  2140. Input       STREAM, TEMP1, ..., TEMP8  input buffer
  2141. Ouput       STREAM, TEMP1, ..., TEMP8  output buffer
  2142. CentreX,    pixels                     centre of the effect
  2143. CentreY     pixels
  2144. Amount      pixels                     amount, large values may cause the
  2145.                                        whole image to disappear
  2146. Radius      pixels                     parameter affecting the local deformation
  2147. Zoom        -10.0...10.0               zoom-factor for the whole image
  2148. Since version 3.74 all numerical parameters are adjusted from within
  2149. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2150. @{b}Notes@{ub}
  2151. 1) This PlugIn supports "parameter-dragging" from within
  2152.    the @{" ImageCoordinates-Window " link ImageCoordinatesWindow}.
  2153. @endnode
  2154. @node opCartesian2Polar
  2155. @{b}Cartesian2Polar-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Cartesian2Polar.pic"}
  2156. This operator transforms the cartesian image-coordinates into
  2157. polar coordinates.
  2158. @{b}Parameters@{ub}
  2159. Name        Possible Values/Unit          Description
  2160. @{uu}
  2161. Input       STREAM, TEMP1, ..., TEMP8     input buffer
  2162. Output      STREAM, TEMP1, ..., TEMP8     output buffer
  2163. R0          pixels                        starting radius
  2164. Phi0        degrees                       starting angle
  2165. Zoom        -10.0...10.0                  zoom factor for the whole image
  2166. Since version 3.74 all numerical parameters are adjusted from within
  2167. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2168. @endnode
  2169. @node opDisplace
  2170. @{b}Displace-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Displace.pic"}
  2171. This operator swaps points of an image randomly.
  2172. @{b}Parameters@{ub}
  2173. Name        Possible Values/Unit            Description
  2174. @{uu}
  2175. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2176. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2177. Radius      pixels                          largest distance between two
  2178.                                             points to swap
  2179. Probability 0...100                         probability of swapping in
  2180.                                             percent
  2181. Seed        integer                         start-value for the random
  2182.                                             number generator
  2183. Since version 3.74 all numerical parameters are adjusted from within
  2184. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2185. @endnode
  2186. @node opWind
  2187. @{b}Wind-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Wind.pic"}
  2188. This operator blurs pixels of high contrast (i.e. edges) along
  2189. straight lines.
  2190. @{b}Parameters@{ub}
  2191. Name        Possible Values/Unit            Description
  2192. @{uu}
  2193. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2194. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2195. Direction   LEFT, RIGHT                     direction of the effect
  2196. Intensity   pixels                          average blur-length
  2197. Probability 0...100                         blur-probability
  2198. Seed        integer                         start-value for the random
  2199.                                             number generator
  2200. Since version 3.74 all numerical parameters are adjusted from within
  2201. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2202. @endnode
  2203. @node opFlip
  2204. @{b}Flip-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Flip.pic"}
  2205. This operator mirrors an image along a specified axis.
  2206. @{b}Parameters@{ub}
  2207. Name        Possible Values/Unit            Description
  2208. @{uu}
  2209. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2210. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2211. Axis        X, Y, XY                        mirror-axis
  2212. Since version 3.74 all numerical parameters are adjusted from within
  2213. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2214. @endnode
  2215. @node opHalve
  2216. @{b}Halve-Operator@{ub}
  2217. This operator halves the dimensions of an image.
  2218. @{b}Parameters@{ub}
  2219. Name        Possible Values/Unit            Description
  2220. @{uu}
  2221. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2222. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2223. Since version 3.74 all numerical parameters are adjusted from within
  2224. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2225. @endnode
  2226. @node opMagnet
  2227. @{b}Magnet-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Magnet.pic"}
  2228. This operator applies a local contraction or expansion to an image.
  2229. @{b}Parameters@{ub}
  2230. Name        Possible Values/Unit            Description
  2231. @{uu}
  2232. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2233. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2234. CentreX     pixels                          centre of the effect
  2235. CentreY     pixels
  2236. Amount      pixels (about -20...20)         amount of the deformation, positive values
  2237.                                             cause a contraction, negative an expansion
  2238. Damping     float                           parameter which controls the fall-off
  2239.                                             of the deformation
  2240. Zoom        -10.0...10.0                    zoom-factor for the whole image
  2241. Since version 3.74 all numerical parameters are adjusted from within
  2242. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2243. @{b}Notes@{ub}
  2244. 1) This PlugIn supports "parameter-dragging" from within
  2245.    the @{" ImageCoordinates-Window " link ImageCoordinatesWindow}.
  2246. @endnode
  2247. @node opMotionBlur
  2248. @{b}MotionBlur-Operator@{ub} @{" Example " system "visage wf:doc/pictures/MotionBlur.pic"}
  2249. This operator applies a touch of motion to an image.
  2250. @{b}Parameters@{ub}
  2251. Name        Possible Values/Unit            Description
  2252. @{uu}
  2253. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2254. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2255. DeltaX,     pixels                          direction and amount of the effect
  2256. DeltaY      pixels
  2257. Since version 3.74 all numerical parameters are adjusted from within
  2258. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2259. @endnode
  2260. @node opPixelize
  2261. @{b}Pixelize-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Pixelize.pic"}
  2262. This operator reduces the resolution of an image creating
  2263. rectangles.
  2264. @{b}Parameters@{ub}
  2265. Name        Possible Values/Unit            Description
  2266. @{uu}
  2267. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2268. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2269. Width       pixels                          width of the rectangles to create
  2270. Height      pixels                          height of the rectangles to create
  2271. Centre      ON, OFF                         centre the rectangles, this options should be
  2272.                                             switched off if the size of the rectangle
  2273.                                             varies with time
  2274. Grid        OFF, XY, X, Y                   type of the optional grid to create
  2275. Size        pixels                          thickness of the grid to create
  2276. Red,        0...255                         base color of the grid
  2277. Green,      0...255
  2278. Blue        0...255
  2279. DLeft,      0.0...1.0                       color variation of the grid to produce
  2280. DRight      0.0...1.0                       a threedimensional look
  2281. DTop        0.0...1.0
  2282. DBottom     0.0...1.0
  2283. Since version 3.74 all numerical parameters are adjusted from within
  2284. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2285. @endnode
  2286. @node opTileBrick
  2287. @{b}TileBrick-Operator@{ub} @{" Example " system "visage wf:doc/pictures/TileBrick.pic"}
  2288. This operator replicates a (small) image to create patterns useful
  2289. as backgrounds or alpha channels.
  2290. @{b}Parameters@{ub}
  2291. Name        Possible Values/Unit            Description
  2292. @{uu}
  2293. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2294. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2295. Width,      pixels                          dimension of the created pattern
  2296. Height      
  2297. Shift       pixels                          offset between two rows
  2298. Since version 3.74 all numerical parameters are adjusted from within
  2299. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2300. @{b}Notes@{ub}
  2301. 1) To create the "TileBrick"-shape use a shift-value of ("input-width")/2.
  2302. @endnode
  2303. @node opRoll
  2304. @{b}Roll-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Roll.pic"}
  2305. This operator scrolls an image into a specified direction.
  2306. @{b}Parameters@{ub}
  2307. Name        Possible Values/Unit            Description
  2308. @{uu}
  2309. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2310. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2311. DeltaX,     pixels                          scroll direction and amount
  2312. DeltaY      pixels
  2313. Wrap        ON, OFF                         toggle wrapping on/off
  2314. Since version 3.74 all numerical parameters are adjusted from within
  2315. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2316. @endnode
  2317. @node opRotate
  2318. @{b}Rotate-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Rotate.pic"}
  2319. This operator rotates a circular region of an image.
  2320. @{b}Parameters@{ub}
  2321. Name        Possible Values/Unit            Description
  2322. @{uu}
  2323. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2324. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2325. CentreX,    pixels                          centre of the circle
  2326. CentreY     pixels
  2327. Radius      pixels                          radius of the circle
  2328. Amount      degrees                         rotate-angle
  2329. Zoom        -10.0...10.0                    zoom-factor for the rotated region
  2330. Since version 3.74 all numerical parameters are adjusted from within
  2331. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2332. @{b}Notes@{ub}
  2333. 1) This PlugIn supports "parameter-dragging" from within
  2334.    the @{" ImageCoordinates-Window " link ImageCoordinatesWindow}.
  2335. @endnode
  2336. @node opRotateBlur
  2337. @{b}RotateBlur-Operator@{ub} @{" Example " system "visage wf:doc/pictures/RotateBlur.pic"}
  2338. This operator adds a touch of motion to an image.
  2339. @{b}Parameters@{ub}
  2340. Name        Possible Values/Unit            Description
  2341. @{uu}
  2342. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2343. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2344. CentreX,    pixels                          centre of the blurred circle
  2345. CentreY     pixels
  2346. Radius      pixels                          radius of the circle
  2347. Amount      degrees                         blur-amount, large-values like 60
  2348.                                             cause a very long computation time
  2349. Since version 3.74 all numerical parameters are adjusted from within
  2350. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2351. @{b}Notes@{ub}
  2352. 1) This PlugIn supports "parameter-dragging" from within
  2353.    the @{" ImageCoordinates-Window " link ImageCoordinatesWindow}.
  2354. @endnode
  2355. @node opScale
  2356. @{b}Scale-Operator@{ub}
  2357. This operator scales up or down images.
  2358. @{b}Parameters@{ub}
  2359. Name        Possible Values/Unit            Description
  2360. @{uu}
  2361. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2362. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2363. Width       pixels/percent                  horizontal size of the generated image
  2364. Height      pixels/percent                  vertical size of the generated image
  2365. Type        PIXELS, PERCENT                 choose if the size-values are in pixels or percent
  2366. Aspect                                      choose if you want to keep the aspect or not
  2367.             IGNORE                           scale the image to the specified values
  2368.             TAKEWIDTH                        scale the image to the specified width-value
  2369.                                              and a computed height-value keeping the aspect
  2370.             TAKEHEIGHT                       scale the image to specified height-value
  2371.                                              and computed width-value keeping the aspect
  2372. Since version 3.74 all numerical parameters are adjusted from within
  2373. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2374. @endnode
  2375. @node opShear
  2376. @{b}Shear-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Shear.pic"}
  2377. This operator shears an image with additional damping.
  2378. @{b}Parameters@{ub}
  2379. Name        Possible Values/Unit            Description
  2380. @{uu}
  2381. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2382. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2383. OriginX,    pixels                          shear-centre where no damping occurs
  2384. OriginY     pixels
  2385. Amount      pixels                          shear-amount
  2386. Zoom        -10.0...10.0                    zoom-value for the whole image
  2387. Axis        X, Y                            shear-direction
  2388. Damping     ON, OFF                         toggle damping on/off
  2389. Damping     float                           damping-value
  2390. Since version 3.74 all numerical parameters are adjusted from within
  2391. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2392. @endnode
  2393. @node opShiftLines
  2394. @{b}ShiftLines-Operator@{ub} @{" Example " system "visage wf:doc/pictures/ShiftLines.pic"}
  2395. This operator shifts the lines of an image with optional
  2396. jitter-effect.
  2397. @{b}Parameters@{ub}
  2398. Name        Possible Values/Unit            Description
  2399. @{uu}
  2400. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2401. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2402. Direction   X, Y                            shift-direction
  2403. Jitter      ON, OFF                         toggle jitter on/off
  2404. Shift       pixels                          shift-value
  2405. Amount      pixels                          jitter-amount
  2406. Probability 0...100                         probability for the jitter-effect
  2407. Seed        integer                         start -value for the random number generator
  2408. Since version 3.74 all numerical parameters are adjusted from within
  2409. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2410. @endnode
  2411. @node opTwirl
  2412. @{b}Twirl-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Twirl.pic"}
  2413. This operator applies a nonlinear deformation to an image.
  2414. @{b}Parameters@{ub}
  2415. Name        Possible Values/Unit            Description
  2416. @{uu}
  2417. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2418. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2419. FallOff     IN, OUT                         radial direction of the fall-off of
  2420.                                             the deformation
  2421. CentreX,    pixels                          centre of the effect
  2422. CentreY     pixels
  2423. Radius      pixels                          radius of the affected circular region of the image
  2424. Amount      degrees                         twirl amount, very large value like 1000 are allowed
  2425. Power       float                           parameter describing the local deformation, large
  2426.                                             values like 6.0 concentrate the deformation around
  2427.                                             the centre of the circle
  2428. Zoom        -10.0...10.0                    zoom-factor for the affected circular region
  2429. Since version 3.74 all numerical parameters are adjusted from within
  2430. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2431. @endnode
  2432. @node opWave
  2433. @{b}Wave-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Wave.pic"}
  2434. This operator applies a harmonic wave to an image.
  2435. @{b}Parameters@{ub}
  2436. Name        Possible Values/Unit            Description
  2437. @{uu}
  2438. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2439. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2440. CentreX,    pixels                          centre of the wave, the point
  2441. CentreY     pixels                          with no damping
  2442. Amplitude   pixels                          amplitude of the wave
  2443. Phase       degrees                         phase of the wave
  2444. Wavelength  pixels                          wavelength
  2445. Shift       pixels                          diagonal-shift-parameter
  2446. Zoom        -10.0...10.0                    zoom-value for the whole image
  2447. Damping     ON, OFF                         toggle damping on/off
  2448. Damping     float                           damping-value
  2449. Axis        X, Y                            wave-direction
  2450. Frame       integer>0                       current frame
  2451. Frames      integer>0                       frame-number describing a whole cycle
  2452. Since version 3.74 all numerical parameters are adjusted from within
  2453. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2454. @endnode
  2455. @node opAlpha
  2456. @{b}Alpha-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Alpha.pic"}
  2457. This operator modifies the brightness of an image using
  2458. an alpha-channel.
  2459. @{b}Parameters@{ub}
  2460. Name        Possible Values/Unit            Description
  2461. @{uu}
  2462. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2463. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2464. Alpha       STREAM, TEMP1, ..., TEMP8       alpha buffer
  2465. Left        pixels                          left edge of the alpha image
  2466. Top         pixels                          top edge of the alpha image
  2467. Since version 3.74 all numerical parameters are adjusted from within
  2468. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2469. @endnode
  2470. @node opAntique
  2471. @{b}Antique-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Antique.pic"}
  2472. This operator turns the colors of an image to look "anitique".
  2473. @{b}Parameters@{ub}
  2474. Name        Possible Values/Unit            Description
  2475. @{uu}
  2476. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2477. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2478. Since version 3.74 all numerical parameters are adjusted from within
  2479. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2480. @endnode
  2481. @node opBalancing
  2482. @{b}Balancing-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Balancing.pic"}
  2483. This operator allows you modify the colors of an image using
  2484. different methods.
  2485. @{b}Parameters@{ub}
  2486. Name        Possible Values/Unit            Description
  2487. @{uu}
  2488. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2489. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2490. Red         -255...255                      shift-value for the red component
  2491. Green       -255...255                      shift-value for the green component
  2492. Blue        -255...255                      shift-value for the green component
  2493. Contrast    -255...255                      contrast-value, negative values decrease the contrast
  2494. Bright      -255...255                      shift value for all color-channels
  2495. Gamma       -255...255                      gamma-value
  2496. Saturation  -255...255                      color saturation
  2497. Since version 3.74 all numerical parameters are adjusted from within
  2498. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2499. @endnode
  2500. @node opBGradient
  2501. @{b}BGradient-Operator@{ub} @{" Example " system "visage wf:doc/pictures/BGradient.pic"}
  2502. This operator allows you to modify image-colors smoothly. It features
  2503. all methods of the @{" Balancing " link opBalancing}-PlugIn.
  2504. But instead of applying a fixed set of parameters to the whole
  2505. image a smooth gradient (parallel or radial) is created and
  2506. applied.
  2507. @{b}Parameters@{ub}
  2508. Name        Possible Values/Unit            Description
  2509. @{uu}
  2510. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2511. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2512. Mode                                        type of balancing:
  2513.              RED                             shift the red components
  2514.              GREEN                           shift the green components
  2515.              BLUE                            shift the green components
  2516.              CONTRAST                        change the contrast
  2517.              BRIGHTNESS                      shift all color components
  2518.              GAMMA                           gamma-correction
  2519.              SATURATION                      change the color saturation
  2520. X1,         pixels                          position of point 1 ("source")
  2521. Value1      -255...255                      intensity at point 1
  2522. X2,         pixels                          position of point 2 ("destination")
  2523. Value2      -255...255                      intensity at point 2
  2524. Transition                                  type of transition (shape):
  2525.              PARALLEL                       "normal" gradient
  2526.              RADIAL                         circular shape
  2527. Since version 3.74 all numerical parameters are adjusted from within
  2528. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2529. @{b}Notes@{ub}
  2530. 1) In "Transition=RADIAL"-mode the point 1 is the centre of the
  2531.    circular shape.
  2532. 2) Because the coordinates of both points can be adjusted freely
  2533.    linear gradients in any direction can be created.
  2534.    (The current direction is indicated in the Realtime-Preview-Window.)
  2535. 3) Using the brighness-mode you may fade in/out animations in
  2536.    a very impressive way.
  2537. 4) The gamma-mode seems to be relatively slow. This is because lots
  2538.    of pow(x,a)-values have to calculated.
  2539. 5) This PlugIn supports "parameter-dragging" from within
  2540.    the @{" ImageCoordinates-Window " link ImageCoordinatesWindow}.
  2541. @endnode
  2542. @node opColorToGray
  2543. @{b}ColorToGray-Operator@{ub} @{" Example " system "visage wf:doc/pictures/ColorToGray.pic"}
  2544. This operator converts an image into grayscale.
  2545. @{b}Parameters@{ub}
  2546. Name        Possible Values/Unit            Description
  2547. @{uu}
  2548. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2549. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2550. Weights                                     weight of the red, green and blue component
  2551.             LUMINANCE                        use luminance weights
  2552.             AVERAGE                          use for all components the same weight
  2553.             CUSTOM                           use custom weights
  2554. Red,        0...10000                        custom weights, the sum of this
  2555. Green,      0...10000                        three values should be 10000
  2556. Blue        0...10000
  2557. Since version 3.74 all numerical parameters are adjusted from within
  2558. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2559. @endnode
  2560. @node opConvolve
  2561. @{b}Convolve-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Convolve.pic"}
  2562. This operator applies a 3x3- or 5x5 convolution-matrix to an image.
  2563. @{b}Parameters@{ub}
  2564. Name        Possible Values/Unit            Description
  2565. @{uu}
  2566. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2567. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2568. Mix         0...100                         intensity of the generated effect
  2569. Shift       -255...255                      shift-value which is applied to the
  2570.                                             result for each pixel, this makes it for
  2571.                                             example possible to turn negative results
  2572.                                             into the valid range 0...255 without
  2573.                                             loosing details
  2574. Size        3x3, 5x5                        toggle the size of the matrix
  2575. File        string                          filename for loading/saving a matrix
  2576. Load        (gadget)                        load a matrix in Wildfire's or ADPro's format
  2577. Save        (gadget)                        save the current matrix to disk
  2578. Since version 3.74 all numerical parameters are adjusted from within
  2579. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2580. @endnode
  2581. @node opEmboss
  2582. @{b}Emboss-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Emboss.pic"}
  2583. This operator converts an image in a gray relief
  2584. @{b}Parameters@{ub}
  2585. Name        Possible Values/Unit            Description
  2586. @{uu}
  2587. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2588. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2589. Direction   NORTHWEST, NORTHEAST,           direction of the "lightsource", different
  2590.             SOUTHEST, SOUTHEAST             directions may cause results looking extremely
  2591.                                             different
  2592. @endnode
  2593. @node opColorRegion
  2594. @{b}ColorRegion-Operator@{ub} @{" Example " system "visage wf:doc/pictures/ColorRegion.pic"}
  2595. This operator detects a region of similar colors around a
  2596. specified centre.
  2597. @{b}Parameters@{ub}
  2598. Name        Possible Values/Unit            Description
  2599. @{uu}
  2600. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2601. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2602. CentreX,                                    centre
  2603. CentreY
  2604. Tolerance   0.0...1.0                       tolerance-level which defines
  2605.                                             "similar" pixels
  2606.             INCLUDE                          remove all pixels which don't
  2607.                                              belong to the detected area
  2608.             EXCLUDE                          remove the detected area from
  2609.                                              the image
  2610. Since version 3.74 all numerical parameters are adjusted from within
  2611. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2612. @{b}Notes@{ub}
  2613. 1) This operator is very useful for advanced Compose-operations or
  2614.    to modify colors of a specified region (e.g. to turn the eyes of
  2615.    a girl into green)
  2616. 2) Currently this PlugIn is only in a beta-state.
  2617.    (The used complicated algorithms are not optimized yet.)
  2618. 3) This PlugIn supports "parameter-dragging" from within
  2619.    the @{" ImageCoordinates-Window " link ImageCoordinatesWindow}.
  2620. @endnode
  2621. @node opLUT
  2622. @{b}LUT-Operator@{ub} @{" Example " system "visage wf:doc/pictures/LUT.pic"}
  2623. This operator applies a LookUpTable to an image.
  2624. Unlike to all other image-processors LUT's are represented
  2625. by Envelopes and can be morphed !
  2626. There are 6 Envelopes: a Start- and an End-Envelope for every
  2627. component. After specifying the number of frames the Start-Envelope
  2628. is morphed into the End-Envelope. Different point-counts
  2629. are possible.
  2630. @{b}Parameters@{ub}
  2631. Name        Possible Values/Unit            Description
  2632. @{uu}
  2633. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2634. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2635. Mode        EDIT, VIEW                      toggle Edit/View-mode
  2636. Type        LINEAR, SPLINE, BEZIER          type of the spline of the current channel
  2637. Component   R, G, B                         current component
  2638. RGB         (gadget)                        apply the current Envelope to all components
  2639. Preset      (may change)                    choose a preset
  2640. Apply       (gadget)                        apply the selected preset to the current component
  2641. Position    START, END                      modify the Start- or the End-Envelope
  2642. Both        (gadget)                        apply the Envelope of the current component as
  2643.                                             End- and as Start-Envelope
  2644. Frames      integer>0                       number of frames used for morphing
  2645. Frame       integer>0                       current frame displayed in view-mode
  2646. MirrorX     (gadget)                        mirror the current Envelope along the x-axis
  2647. MirrorY     (gadget)                        mirror the current Envelope along the y-axis
  2648. MirrorXY    (gadget)                        flip the current Envelope along the diagonal
  2649. MoveX       (gadget)                        shift the current Envelope by the specified amount in x-direction
  2650. MoveY       (gadget)                        shift the current Envelope by the specified amount in y-direction
  2651. Amount      integer                         shift-value
  2652. File        string                          file used for loading/saving envelopes
  2653. Load        (gadget)                        load an Envelope
  2654. Save        (gadget)                        save the current Envelope to disk
  2655. There are two modes: the View- and the Edit-mode. In Edit-mode
  2656. all changes are applied, in view mode the morphing of the
  2657. splines is visualized. In this mode you can change the current-frame-
  2658. number both using the scrollbar and the "Frame"-gadget.
  2659. If you want to create your Envelopes using the @{"Envelope-Window" link EnvelopeWindow}
  2660. the only restriction is that all values must be in the range 0..255.
  2661. The first point must have the x-coordinate 0, the last one the
  2662. coordinate 255.
  2663. Since version 3.74 all numerical parameters are adjusted from within
  2664. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2665. @endnode
  2666. @node opMedianFilter
  2667. @{b}MedianFilter-Operator@{ub}
  2668. This operator applies a median-filter to the image.
  2669. (In the most cases there will be no visible change.)
  2670. @{b}Parameters@{ub}
  2671. Name        Possible Values/Unit            Description
  2672. @{uu}
  2673. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2674. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2675. Rect        pixels                          size of the rectangle scanned
  2676.                                             for every pixel
  2677. Since version 3.74 all numerical parameters are adjusted from within
  2678. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2679. @endnode
  2680. @node opNegative
  2681. @{b}Negative-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Negative.pic"}
  2682. This operator turns the colors of an image into negative ones.
  2683. @{b}Parameters@{ub}
  2684. Name        Possible Values/Unit            Description
  2685. @{uu}
  2686. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2687. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2688. Since version 3.74 all numerical parameters are adjusted from within
  2689. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2690. @endnode
  2691. @node opRIP
  2692. @{b}RIP-Operator@{ub}
  2693. This operator removes all isolated pixels from an image.
  2694. @{b}Parameters@{ub}
  2695. Name        Possible Values/Unit            Description
  2696. @{uu}
  2697. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2698. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2699. @endnode
  2700. @node opLineArt
  2701. @{b}LineArt-Operator@{ub} @{" Example " system "visage wf:doc/pictures/LineArt.pic"}
  2702. This operator applies the well-known LineArt-effect to an image.
  2703. @{b}Parameters@{ub}
  2704. Name        Possible Values/Unit            Description
  2705. @{uu}
  2706. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2707. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2708. @endnode
  2709. @node opEdgeDetect
  2710. @{b}EdgeDetect-Operator@{ub} @{" Example " system "visage wf:doc/pictures/EdgeDetect.pic"}
  2711. This operator uses an advanced algorithm to detect edges within an image.
  2712. In contrary to commonly applied methods (e.g. a simple convolution-matrix)
  2713. the detected edges are left in original colors. Furthermore, "weak edges" 
  2714. can be suppressed adjusting the contrast-value.
  2715. @{b}Parameters@{ub}
  2716. Name        Possible Values/Unit            Description
  2717. @{uu}
  2718. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2719. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2720. Contrast    0...255                         minimum "intensity" of edges
  2721. Since version 3.74 all numerical parameters are adjusted from within
  2722. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2723. @{b}Notes@{ub}
  2724. 1) Very small contrast values usually produce no edges but in some
  2725.    cases very "interesting" images.
  2726. 2) Nasty "dots" can be removed using the  @{" RIP " link opRIP}-PlugIn
  2727. 3) All intensities are measured using luminance weights
  2728. @endnode
  2729. @node opNoise
  2730. @{b}Noise-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Noise.pic"}
  2731. This operator applies random noise to an image.
  2732. @{b}Parameters@{ub}
  2733. Name        Possible Values/Unit            Description
  2734. @{uu}
  2735. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2736. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2737. Intensity   color                           intensity of the noise
  2738. Probability 0...100                         noise-probability
  2739. Seed        integer                         start-value for the random
  2740.                                             number generator
  2741. Since version 3.74 all numerical parameters are adjusted from within
  2742. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2743. @endnode
  2744. @node opOilTransfer
  2745. @{b}OilTransfer-Operator@{ub} @{" Example " system "visage wf:doc/pictures/OilTransfer.pic"}
  2746. This operator applies the OilTransfer-algorithm to an image.
  2747. @{b}Parameters@{ub}
  2748. Name        Possible Values/Unit            Description
  2749. @{uu}
  2750. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2751. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2752. Rect        pixels                          size of the rectangle scanned for
  2753.                                             every pixel
  2754. Since version 3.74 all numerical parameters are adjusted from within
  2755. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2756. @endnode
  2757. @node opPosterise
  2758. @{b}Posterise-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Posterise.pic"}
  2759. This operator reduces the number of bits per byte for every pixel
  2760. of the image.
  2761. @{b}Parameters@{ub}
  2762. Name        Possible Values/Unit            Description
  2763. @{uu}
  2764. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2765. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2766. Bits        1...7                           number of bits per byte, a value of 8
  2767.                                             would cause no change
  2768. Since version 3.74 all numerical parameters are adjusted from within
  2769. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2770. @endnode
  2771. @node opSwapRGB
  2772. @{b}SwapRGB-Operator@{ub} @{" Example " system "visage wf:doc/pictures/SwapRGB.pic"}
  2773. This operator swaps the color-channels of an image
  2774. @{b}Parameters@{ub}
  2775. Name        Possible Values/Unit            Description
  2776. @{uu}
  2777. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2778. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2779. Mode        RBG, GRB, GBR, BRG, BGR         swap-mode
  2780. Since version 3.74 all numerical parameters are adjusted from within
  2781. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2782. @endnode
  2783. @node opThreshold
  2784. @{b}Threshold-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Threshold.pic"}
  2785. This operator converts an image into black&white using a grayscale-level,
  2786. this may be especially useful for the creation of alpha-channels.
  2787. @{b}Parameters@{ub}
  2788. Name        Possible Values/Unit            Description
  2789. @{uu}
  2790. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2791. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2792. Level       0...255                         grayscale-level, all pixels with a
  2793.                                             brightness higher than this value
  2794.                                             are turned into white ones, all other
  2795.                                             are cleared
  2796. Since version 3.74 all numerical parameters are adjusted from within
  2797. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2798. @endnode
  2799. @node opBump
  2800. @{b}Bump-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Bump.pic"}
  2801. This operator uses a 2nd image to add height-information which
  2802. is visualized using a single lightsoure to an image.
  2803. @{b}Parameters@{ub}
  2804. Name        Possible Values/Unit            Description
  2805. @{uu}
  2806. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2807. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2808. HeightMap   STREAM, TEMP1, ..., TEMP8       image used to create the height-information
  2809. Amount      integer                         height-value corresponding to a brightness of 255
  2810. LightX,     pixels                          coordinates of the lightsource
  2811. LightY,     pixels
  2812. LightZ      pixels
  2813. Intensity   float                           light-intensity (1.0=normal)
  2814. Left        pixels                          left edge of the height-map
  2815. Top         pixels                          top edge of the height-map
  2816. Since version 3.74 all numerical parameters are adjusted from within
  2817. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2818. @endnode
  2819. @node opCube
  2820. @{b}Cube-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Cube.pic"}
  2821. This operator wraps an image or a 3d-temp-buffer onto a cube.
  2822. @{b}Parameters@{ub}
  2823. Name        Possible Values/Unit            Description
  2824. @{uu}
  2825. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2826.             TEMP3D1, ..., TEMP3D4
  2827. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2828.             TEMP3D1, ..., TEMP3D4
  2829. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2830.                                             is used for the last time and can be modified
  2831.                                             directly to conserve both memory and time
  2832. Size        pixels                          size of the cube
  2833. Fold        ON, OFF                         create the cube "folding" the image using
  2834.                                             5 dynamic angles (like a parcel)
  2835. Alpha4,     degrees                         face-angles in fold-mode
  2836. Alpha5,                                     (see below)
  2837. Alpha2,
  2838. Alpha6,
  2839. Alpha1
  2840. The image is sliced into 6 parts (2 rows, 3 columns) which are mapped
  2841. onto the six surfaces of the cube.
  2842. To create a cube with 6 different images simply compose them together
  2843. and use the result as input for the Cube-operator.
  2844. In parcel-mode (fold=ON) the image is deformed in two steps.
  2845. In the 1st step the it is scliced as follows:
  2846.                                    ___
  2847.                                   |   |
  2848.                                   | 1 |
  2849.    ___________                    |___|___
  2850.   |   |   |   |                   |   |   |
  2851.   | 1 | 2 | 3 |       \           | 2 | 6 |
  2852.   |___|___|___|   =====\       ___|___|___|
  2853.   |   |   |   |   =====/      |   |   |
  2854.   | 4 | 5 | 6 |       /       | 5 | 3 |
  2855.   |___|___|___|               |___|___|
  2856.                                   |   |
  2857.                                   | 4 |
  2858.                                   |___|
  2859. After that all faces except face 3 are rotated by the 5 angles
  2860. creating the "parcel-like" behaviour:
  2861.  Angle4: angle between face 4 and 3
  2862.  Angle5: angle between face 5 and 3
  2863.  Angle2: angle between face 2 and 3
  2864.  Angle6: angle between face 6 and 2
  2865.  Angle1: angle between face 1 and 2
  2866. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2867. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  2868. Since version 3.74 all numerical parameters are adjusted from within
  2869. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2870. @endnode
  2871. @node opTriangulate
  2872. @{b}Triangulate-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Triangulate.pic"}
  2873. This operator converts images (at high quant3D-values) into
  2874. smooth phong-objects.
  2875. @{b}Parameters@{ub}
  2876. Name        Possible Values/Unit            Description
  2877. @{uu}
  2878. Input       TEMP3D1, ..., TEMP3D4           input buffer
  2879. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2880.             TEMP3D1, ..., TEMP3D4
  2881. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2882.                                             is used for the last time and can be modified
  2883.                                             directly to conserve both memory and time
  2884. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2885. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  2886. Since version 3.74 all numerical parameters are adjusted from within
  2887. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2888. @endnode
  2889. @node opSetColor
  2890. @{b}SetColor-Operator@{ub} @{" Example " system "visage wf:doc/pictures/SetColor.pic"}
  2891. This operator allows to modify the colors of any 3d-object.
  2892. @{b}Parameters@{ub}
  2893. Name        Possible Values/Unit            Description
  2894. @{uu}
  2895. Input       TEMP3D1, ..., TEMP3D4           input buffer
  2896. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2897.             TEMP3D1, ..., TEMP3D4
  2898. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2899.                                             is used for the last time and can be modified
  2900.                                             directly to conserve both memory and time
  2901. Red,        0...255                         color to apply
  2902. Green,
  2903. Mix         0...100                         transparency
  2904. The transparency-option especially makes sense for objects
  2905. with more than unique color such as animals.
  2906. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2907. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  2908. Since version 3.74 all numerical parameters are adjusted from within
  2909. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2910. @endnode
  2911. @node opMorph
  2912. @{b}Morph-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Morph.pic"}
  2913. This operator interpolates between two objects to creat a
  2914. so-called "morph-object". Both points and object-colors
  2915. are interpolated. The source- and the destination-object
  2916. should have the same point- and face-count.
  2917. @{b}Parameters@{ub}
  2918. Name        Possible Values/Unit            Description
  2919. @{uu}
  2920. Input1      TEMP3D1, ..., TEMP3D4           source-object
  2921. Input1      TEMP3D1, ..., TEMP3D4           destination-object
  2922. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2923.             TEMP3D1, ..., TEMP3D4
  2924. Frames      integer>1                       number of frames
  2925. Frame       1...frames                      current frame
  2926. A nice application of this feature is to "morph" between two
  2927. different functions created by the ZPlot-PlugIn.
  2928. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2929. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  2930. Since version 3.74 all numerical parameters are adjusted from within
  2931. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2932. @endnode
  2933. @node opDataPlot
  2934. @{b}DataPlot-Operator@{ub} @{" Example " system "visage wf:doc/pictures/DataPlot.pic"}
  2935. This operator reads in a 3D-dataset in gnuplot-format
  2936. and converts into a 3D-object which may be rendered
  2937. in conjunction with the ColorCube-Operator and using
  2938. phong-shading.
  2939. @{b}Parameters@{ub}
  2940. Name        Possible Values/Unit            Description
  2941. @{uu}
  2942. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2943.             TEMP3D1, ..., TEMP3D4
  2944. File        string                          filename
  2945. xQuant,     integer                         quantization-values
  2946. yQuant
  2947. xScale,     float                           scale-values
  2948. yScale,
  2949. zScale
  2950. Red,        0...255                         object-color
  2951. Green,
  2952. Grid        ON, OFF                         draw an additional grid
  2953. GRed,       0...255                         grid-color
  2954. GGreen,
  2955. GGBlue
  2956. The quantization-values are a nice feature if your dataset
  2957. has an extreme high resolution  but you want to plot it
  2958. with a visible grid. So after loading the dataset is
  2959. reduced to a resolution of xQuant*yQuant. To disable this
  2960. feature just enter very high quantization values like 1000.
  2961. The scale-values are sometimes necessary to solve the problem of
  2962. very different axis-scales (e.g. "mm" and "s" as shown in the example-picture).
  2963. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2964. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  2965. Important Note: This PlugIn uses a coordinate-system which is much more
  2966.                 "handy" than Wildfire's standard coordinate-system
  2967.                 to create function-plots:
  2968.                          y^                  z^
  2969.                          | /z                | /y
  2970.                          |/                  |/
  2971.                           ---> x              ---> x
  2972.                         "standard"           DataPlot
  2973.                 Because this coordinate system is only used while creating
  2974.                 the objects all view-settings work as usual.
  2975. Since version 3.74 all numerical parameters are adjusted from within
  2976. the @{" Parameter-Settings " link ParameterSettings}-Window.
  2977. @endnode
  2978. @node opZPlot
  2979. @{b}ZPlot-Operator@{ub} @{" Example " system "visage wf:doc/pictures/ZPlot.pic"}
  2980. This operator creates an 3D-object plotting threedimensional
  2981. functions f(x,y) such as sin(x*x+y*y). The created object may be rendered
  2982. in conjunction with the ColorCube-Operator and using
  2983. phong-shading later.
  2984. @{b}Parameters@{ub}
  2985. Name        Possible Values/Unit            Description
  2986. @{uu}
  2987. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2988.             TEMP3D1, ..., TEMP3D4
  2989. Expression  valid expression in x and y     function f(x,y) to evaluate
  2990. xMin,       float                           x-range
  2991. xMax,       float
  2992. xCount      integer
  2993. yMin,       float                           y-range
  2994. yMax,       float
  2995. yCount      integer
  2996. Red,        0...255                         object-color
  2997. Green,
  2998. Grid        ON, OFF                         draw an additional grid
  2999. GRed,       0...255                         grid-color
  3000. GGreen,
  3001. GGBlue
  3002. Listview   (gadget)                         some nice presets
  3003. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3004. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  3005. Important Note: This PlugIn uses a coordinate-system which is much more
  3006.                 "handy" than Wildfire's standard coordinate-system
  3007.                 to create function-plots:
  3008.                          y^                  z^
  3009.                          | /z                | /y
  3010.                          |/                  |/
  3011.                           ---> x              ---> x
  3012.                         "standard"           ZPlot
  3013.                 Because this coordinate system is only used while creating
  3014.                 the objects all view-settings work as usual.
  3015. Since version 3.74 all numerical parameters are adjusted from within
  3016. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3017. @endnode
  3018. @node opParPlot
  3019. @{b}ParPlot-Operator@{ub} @{" Example " system "visage wf:doc/pictures/ParPlot.pic"}
  3020. This operator creates an 3D-object evaluating threedimensional
  3021. parametric functions {x(u,v),y(u,v),z(u,v)} such as a torus or
  3022. the Mobius strip. The created object may be rendered in conjunction
  3023. with the ColorCube-Operator and using phong-shading later.
  3024. @{b}Parameters@{ub}
  3025. Name        Possible Values/Unit            Description
  3026. @{uu}
  3027. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3028.             TEMP3D1, ..., TEMP3D4
  3029. x           valid expression in u and v     coordinate x(u,v) to evaluate
  3030. y           valid expression in u and v     coordinate y(u,v) to evaluate
  3031. z           valid expression in u and v     coordinate z(u,v) to evaluate
  3032. uMin,       float                           u-range
  3033. uMax,       float
  3034. uCount      integer
  3035. vMin,       float                           v-range
  3036. vMax,       float
  3037. vCount      integer
  3038. Red,        0...255                         object-color
  3039. Green,
  3040. Grid        ON, OFF                         draw an additional grid
  3041. GRed,       0...255                         grid-color
  3042. GGreen,
  3043. GGBlue
  3044. Listview   (gadget)                         some nice presets
  3045. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3046. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  3047. Important Note: This PlugIn uses a coordinate-system which is much more
  3048.                 "handy" than Wildfire's standard coordinate-system
  3049.                 to create function-plots:
  3050.                          y^                  z^
  3051.                          | /z                | /y
  3052.                          |/                  |/
  3053.                           ---> x              ---> x
  3054.                         "standard"           ParPlot
  3055.                 Because this coordinate system is only used while creating
  3056.                 the objects all view-settings work as usual.
  3057. Since version 3.74 all numerical parameters are adjusted from within
  3058. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3059. @endnode
  3060. @node opColorCube
  3061. @{b}ColorCube-Operator@{ub} @{" Example " system "visage wf:doc/pictures/ColorCube.pic"}
  3062. This operator is one of the most powerful and complicated features
  3063. of Wildfire. It allows you to add a threedimensional color- or
  3064. alpha-space to objects or images.
  3065. This is done computing the bounding box ("cube") of the affected object,
  3066. putting a different color on each of the 8 points of the "cube"
  3067. and performing a 3d-transition between these 8 colors.
  3068. Using the alpha-mode only the brightness of the
  3069. object is modified. This makes it for example possible
  3070. to wrap objects onto images or to add fog to a scene.
  3071. @{b}Parameters@{ub}
  3072. Name        Possible Values/Unit            Description
  3073. @{uu}
  3074. Input       TEMP3D1, ..., TEMP3D4           input buffer
  3075. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3076.             TEMP3D1, ..., TEMP3D4
  3077. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  3078.                                             is used for the last time and can be modified
  3079.                                             directly to conserve both memory and time
  3080. Red,        any (!) value                   color of the selected point
  3081. Green,                                      of the cube
  3082. Palette     (gadget)                        select the current point of the cube
  3083. Point       (view only)                     shows the coordinates of the current point
  3084. XCopy,      (gadget)                        copy the current color along the
  3085. YCopy,                                      specified direction
  3086. ZCopy
  3087. Mode        COLOR, ALPHA                    type of the generated color-space
  3088. Mix         0...100                         transparency in COLOR-mode
  3089. size        CURRENT, ACTUAL                 compute the size immediately (CURRENT)
  3090.                                             or while rendering (ACTUAL)
  3091. @{b}Notes@{ub}
  3092. Each field of the palette-gadget represents one point of the
  3093. "cube" as follows:
  3094.        3
  3095.          /--------- 4
  3096.         / |       /
  3097.        /  |      / |         Palette-gadget:
  3098.     1  ---------/2 |         _______________
  3099.       |   |     |  |        |   |   |   |   |
  3100.       |   |     |  |        | 1 | 2 | 3 | 4 |
  3101.       |   |-----|--|        |___|___|___|___|
  3102.       |  / 7    |  / 8      |   |   |   |   |
  3103.       | /       | /         | 5 | 6 | 7 | 8 |
  3104.       |/        |/          |___|___|___|___|
  3105.        ---------
  3106.      5          6
  3107. One- and two-point-polygons (e.g. the optional grid created by one of the
  3108. Plot-PlugIns) are not affected by this operator.
  3109. The size-option controls the transformation-behaviour of the colors.
  3110. Using the mode "size=CURRENT" the texture is fixed to the current
  3111. object-size and the color "grows" or "shrinks" with the object.
  3112. The alternative mode "size=ACTUAL" always caused the colorCube
  3113. to be scaled to fit the whole (transformed) object.
  3114. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3115. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  3116. Since version 3.74 all numerical parameters are adjusted from within
  3117. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3118. @endnode
  3119. @node opSphere
  3120. @{b}Sphere-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Sphere.pic"}
  3121. This operator wraps an image or 3d-temp-buffer onto a complete sphere.
  3122. @{b}Parameters@{ub}
  3123. Name        Possible Values/Unit            Description
  3124. @{uu}
  3125. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  3126.             TEMP3D1, ..., TEMP3D4
  3127. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3128.             TEMP3D1, ..., TEMP3D4
  3129. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  3130.                                             is used for the last time and can be modified
  3131.                                             directly to conserve both memory and time
  3132. Radius                  radius of the sphere                   (in pixels)
  3133. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3134. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  3135. Since version 3.74 all numerical parameters are adjusted from within
  3136. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3137. @endnode
  3138. @node opTwirl3D
  3139. @{b}Twirl3D-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Twirl3D.pic"}
  3140. This operator performs a Twirl-effect to an image or 3d-temp-buffer
  3141. along a selected axis.
  3142. @{b}Parameters@{ub}
  3143. Name        Possible Values/Unit            Description
  3144. @{uu}
  3145. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  3146.             TEMP3D1, ..., TEMP3D4
  3147. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3148.             TEMP3D1, ..., TEMP3D4
  3149. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  3150.                                             is used for the last time and can be modified
  3151.                                             directly to conserve both memory and time
  3152. Axis        X, Y, Z                         axis to rotate around
  3153. Radius      pixels                          twirl-radius
  3154. Amount      degress                         twirl amount, very large values
  3155.                                             like 1000 are allowed
  3156. Power       float                           parameter describing the local
  3157.                                             deformation, large values like 6 concentrate
  3158.                                             the deformation around the centre of the circle
  3159. OriginX,    pixels                          centre of the effect
  3160. OriginY,    pixels
  3161. OriginZ     pixels
  3162. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3163. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  3164. Since version 3.74 all numerical parameters are adjusted from within
  3165. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3166. @endnode
  3167. @node opTwist
  3168. @{b}Twist-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Twist.pic"}
  3169. This operator rotates a image along a specified axis with
  3170. varying rotation-angle to create a helix-like shape.
  3171. @{b}Parameters@{ub}
  3172. Name        Possible Values/Unit            Description
  3173. @{uu}
  3174. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  3175.             TEMP3D1, ..., TEMP3D4
  3176. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3177.             TEMP3D1, ..., TEMP3D4
  3178. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  3179.                                             is used for the last time and can be modified
  3180.                                             directly to conserve both memory and time
  3181. Axis        X, Y, Z                         axis to rotate around
  3182. Amount      degrees                         maximum rotate-angle
  3183. Dist        pixels                          distance of the effect
  3184. OriginX,    pixels                          the point at which the rotation starts
  3185. OriginY,    pixels
  3186. OriginZ     pixels
  3187. Negative Dist-values are allowed and cause the propagation
  3188. along the opposite direction.
  3189. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3190. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  3191. Since version 3.74 all numerical parameters are adjusted from within
  3192. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3193. @endnode
  3194. @node opMagnet3D
  3195. @{b}Magnet3D-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Magnet3D.pic"}
  3196. This operator simulates the dragging of a point of the input-image
  3197. or -3d-temp-buffer using a model of plasticity. This makes it possible
  3198. to add a third dimension to selected parts of an image.
  3199. @{b}Parameters@{ub}
  3200. Name        Possible Values/Unit            Description
  3201. @{uu}
  3202. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  3203.             TEMP3D1, ..., TEMP3D4
  3204. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3205.             TEMP3D1, ..., TEMP3D4
  3206. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  3207.                                             is used for the last time and can be modified
  3208.                                             directly to conserve both memory and time
  3209. SrcX,       pixels                          coordinates of the point to drag
  3210. SrcY,       pixels
  3211. SrcZ        pixels
  3212. DestX,      pixels                          destination of the point
  3213. DestY,      pixels
  3214. DestZ       pixels
  3215. Shape       SMOOTH, SHARP                   selects the kind of deformation
  3216. Strength    float                           represents the elasticity of the "material",
  3217.                                             larger values like 5.0 will cause the deformation
  3218.                                             of only a part of the object, small values like 0.1
  3219.                                             will cause the deformation of the whole object
  3220. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3221. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  3222. Since version 3.74 all numerical parameters are adjusted from within
  3223. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3224. @endnode
  3225. @node opTransform3D
  3226. @{b}Transform3D-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Transform3D.pic"}
  3227. This operator performs some standard 3d-transformations on
  3228. images or 3d-temp-buffers. This makes it for example possible
  3229. to deform a sphere into a lens or to apply other 3d-effects
  3230. along any axis.
  3231. @{b}Parameters@{ub}
  3232. Name        Possible Values/Unit            Description
  3233. @{uu}
  3234. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  3235.             TEMP3D1, ..., TEMP3D4
  3236. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3237.             TEMP3D1, ..., TEMP3D4
  3238. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  3239.                                             is used for the last time and can be modified
  3240.                                             directly to conserve both memory and time
  3241. ScaleX,     -10.0...10.0                    object-scaling
  3242. ScaleY,     -10.0...10.0
  3243. ScaleZ      -10.0...10.0
  3244. TransX,     pixels                          object-translation
  3245. TransY,     pixels
  3246. TransZ      pixels
  3247. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  3248. Alpha       degrees                         first rotation angle
  3249. Beta        degrees                         second rotation angle
  3250. OriginX,    pixels                          centre for scaling and rotating
  3251. OriginY,    pixels
  3252. OriginZ     pixels
  3253. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3254. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  3255. Since version 3.74 all numerical parameters are adjusted from within
  3256. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3257. @endnode
  3258. @node opJoin3D
  3259. @{b}Join3D-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Join3D.pic"}
  3260. This operator joins two different 3d-temp-buffers and makes
  3261. it so possible to compose images in the 3d-space.
  3262. @{b}Parameters@{ub}
  3263. Name        Possible Values/Unit            Description
  3264. @{uu}
  3265. Input1      TEMP3D1, ..., TEMP3D4           1st input buffer
  3266. Input2      TEMP3D1, ..., TEMP3D4           2nd input buffer
  3267. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3268.             TEMP3D1, ..., TEMP3D4
  3269. Centre      ON, OFF                         centre the joined object
  3270. Because no additional transformations are applied to the images the two
  3271. input buffers must be different (otherwise joining makes no sense).
  3272. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3273. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  3274. Since version 3.74 all numerical parameters are adjusted from within
  3275. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3276. @endnode
  3277. @node opBump3D
  3278. @{b}Bump3D-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Bump3D.pic"}
  3279. This operator applies the grayscale-levels of a bump-map
  3280. as z-values to an image or 3d-temp-buffer. For good results
  3281. the bump-map should be very smooth. Such smooth images can be
  3282. easily created using the @{" Convolve " link opConvolve}-Operator with the
  3283. default 5x5 matrix.
  3284. @{b}Parameters@{ub}
  3285. Name        Possible Values/Unit            Description
  3286. @{uu}
  3287. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  3288.             TEMP3D1, ..., TEMP3D4
  3289. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3290.             TEMP3D1, ..., TEMP3D4
  3291. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  3292.                                             is used for the last time and can be modified
  3293.                                             directly to conserve both memory and time
  3294. Map         STREAM, TEMP1, ..., TEMP8       bump-map
  3295. Amount      integer                         maximum height corresponding to a
  3296.                                             grayscale level of 255
  3297. NoGround    ON, OFF                         subtract the "ground" (the average) of
  3298.                                             the bumpmap to produce only contrast and
  3299.                                             no additional translation
  3300. Width       pixels                          width of the bump-map
  3301. Height      pixels                          height of the bump-map
  3302. Aspect      IGNORE, TAKEWIDTH, TAKEHEIGHT   aspect of the bump-map (see @{" Scale " link opScale})
  3303. OriginX     pixels                          left edge of the bump-map
  3304. OriginY     pixels                          top edge of the bump-map
  3305. Centre      ON, OFF                         centre the bumpmap inside of the
  3306.                                             input-image
  3307. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3308. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  3309. Since version 3.74 all numerical parameters are adjusted from within
  3310. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3311. Since version 3.74 all numerical parameters are adjusted from within
  3312. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3313. @endnode
  3314. @node opGenlock3D
  3315. @{b}Genlock3D-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Genlock3D.pic"}
  3316. This operator removes all faces matching a color-specification
  3317. to produce a genlock-like effect.
  3318. @{b}Parameters@{ub}
  3319. Name        Possible Values/Unit            Description
  3320. @{uu}
  3321. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  3322.             TEMP3D1, ..., TEMP3D4
  3323. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3324.             TEMP3D1, ..., TEMP3D4
  3325. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  3326.                                             is used for the last time and can be modified
  3327.                                             directly to conserve both memory and time
  3328. Red1,       0...255                          genlock-color 1
  3329. Green2,     0...255
  3330. Blue        0...255
  3331. Red2,       0...255                          genlock-color 2
  3332. Green2,     0...255
  3333. Blue2       0...255
  3334. Genlock                                      type of genlock:
  3335.             SINGLE COLOR                      normal genlock using color 1
  3336.             INRANGE                           extended genlock using all colors
  3337.                                               inside the range color1...color2
  3338.             OUTRANGE                          extended genlock using all colors
  3339.                                               outside the range color1...color2
  3340. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3341. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  3342. Since version 3.74 all numerical parameters are adjusted from within
  3343. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3344. @endnode
  3345. @node opAxis3D
  3346. @{b}Axis3D-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Axis3D.pic"}
  3347. This very complex operator adds threedimensional axes including
  3348.  *tickmarks
  3349.  *ticklabels
  3350.  *axes-labels
  3351. to any 3D-object. The main purpose of this PlugIn is to produce
  3352. function- or data-plots at extrem high quality. Therefore a very
  3353. high resolution (e.g. 1280x800) is the "natural mode" of this PlugIn.
  3354. Such high-quality-images may be included into TeX-documents
  3355. using the @{" EPSSaver " link EPSSaverPlugIn}-PlugIn and DVIPS easily.
  3356. Because the created boxed axis has 12 edges there are 4 choices
  3357. to place the x-, -y and z-labels.
  3358. @{b}Parameters@{ub}
  3359. Name        Possible Values/Unit            Description
  3360. @{uu}
  3361. Input       TEMP3D1, ..., TEMP3D4           input buffer
  3362. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3363.             TEMP3D1, ..., TEMP3D4
  3364. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  3365.                                             is used for the last time and can be modified
  3366.                                             directly to conserve both memory and time
  3367. Axis        X, Y, Z                         axis to modify
  3368. Min,        float                           range for the current axis
  3369. Mode        AUTOMATIC, MANUAL               mode to compute tick-mark-positions
  3370. Ticks                                       number of tickmarks (Mode=AUTOMATIC)
  3371. LMin,       float                           tick-range (Mode=MANUAL)
  3372. LMax,
  3373. Tickness    pixels                          thickness of the axis and the labels
  3374. TickSize    pixels                          length of the tickmarks
  3375. Red,        0...255                         color of the axis and the tickmarks
  3376. Green,
  3377. Labels      ON, OFF                         turn creation of labels on/off
  3378. FontSize    pixels                          height of the ticklabels, the axes-labels
  3379.                                             are scaled up a little bit
  3380. Place                                       where to place the labels, the "right" value
  3381.                                             depends on the view-angle
  3382.             FRONTBOTTOM, FRONTTOP,
  3383.             BACKBOTTOM, BACKTOP (x-axis)
  3384.             RIGHTBOTTOM, RIGHTTOP,
  3385.             LEFTBOTTOM, LEFTTOP (y-axis)
  3386.             FRONTRIGHT, FRONTLEFT,
  3387.             BACKRIGHT, BACKLEFT (z-axis)
  3388. LSkip       float                           additional space between the axes
  3389.                                             and the labels
  3390. LAlpha,     degrees                         individual (additional) rotation-angles
  3391. LBeta                                       of the labels
  3392. LRed,       0...255                         color of the labels
  3393. LGreen,
  3394. lBlue
  3395. Label,      string                          addional axes-labels
  3396. Phong       ON, OFF                         turn phong-shading for the axis on/off
  3397. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3398. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  3399. Since version 3.74 all numerical parameters are adjusted from within
  3400. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3401. @{b}Notes@{ub}
  3402. 1. This PlugIn uses a coordinate-system which is much more
  3403.    "handy" than Wildfire's standard coordinate-system
  3404.    to create function-plots:
  3405.             y^                  z^
  3406.             | /z                | /y
  3407.             |/                  |/
  3408.              ---> x              ---> x
  3409.            "standard"           Axis3D
  3410.    Because this coordinate system is only used while creating
  3411.    the objects all view-settings work as usual.
  3412. 2. As mentioned above this PlugIn is ment to create plots at
  3413.    highend-quality. So lots of memory, the use of an extreme high
  3414.    resolution (100...300 dpi) and at least a 68060-processor are
  3415.    "natural" requirements for this PlugIn. Including such created
  3416.    plots into TeX-documents results in huge files (such as 20 MB per plot).
  3417.    This is natural, too.
  3418. 3. Don't forget to set the background-color to white
  3419.    (from within the @{" Processor " link ProcessorWindow}-Window) if you want to
  3420.    print out it later.
  3421. 4. The "AUTOMATIC"-mode uses an intelligent method to
  3422.    compute the "right" tick-step. But sometimes the 1st or
  3423.    last tickmark may be too close to a perpendicular axis.
  3424.    In this case you have to set the tickmark-range manually.
  3425. 5. Because this PlugIn with
  3426.     *50 parameters,
  3427.     *5000 lines of code and
  3428.     *1500 lines of data generated by a special tool written only
  3429.      for this purpose
  3430.    took much effort, it must be purchased separately.
  3431. 6. You may find that the price mentioned in the @{" How to order " link Order}-section
  3432.    is too high (for you). But because of
  3433.     *the high quality,
  3434.     *the stupendous operation-speed and
  3435.     *the lots of adjustable parameters
  3436.    this price is fair.
  3437. @endnode
  3438. @node opLWOB
  3439. @{b}LWOB-Operator@{ub} @{" Example " system "visage wf:doc/pictures/LWOB.pic"}
  3440. This operator reads in a Lightwave-object and converts it into
  3441. Wildfire's 3D-format. This makes it possible to combine
  3442. phong-shaded 3D-objects and images using the @{" PowerPlugs!-concept " link PowerPlugs!}-
  3443. mechanism.
  3444. Only 1-, 2-, 3-, and 4-point-polygons are supported, all polygons
  3445. with more points are ignored while reading.
  3446. To simplify the creation of object-catalogues the filename
  3447. can be plotted directly to the generated image and
  3448. whole drawers can be processed easily.
  3449. @{b}Parameters@{ub}
  3450. Name        Possible Values/Unit            Description
  3451. @{uu}
  3452. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3453.             TEMP3D1, ..., TEMP3D4
  3454. Text                                        toggle the kind of text to be plotted to the image,
  3455.             OFF,                             no text will be generated,
  3456.             SMALL,                           plot the filename without the path,
  3457.             FULL                             plot the full filename with path
  3458. Select Font (gadget)                        select the font for the generated string
  3459. File        string                          object-file or drawer to be scanned
  3460. Width       pixels                          width of the image to be created
  3461. Height      pixels                          height of the image to be created
  3462. TRed,       0...255                         text color
  3463. TGreen,     0...255
  3464. TBlue       0...255
  3465. If the specified input-file cannot be found the path is scanned
  3466. as drawer to create an alphabetically sorted filelist.
  3467. Later the n-th item of this list is processed at frame n.
  3468. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3469. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  3470. Since version 3.74 all numerical parameters are adjusted from within
  3471. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3472. See the @{" Tutorial " link Tutorials} for an example.
  3473. @endnode
  3474. @node opPerspective
  3475. @{b}Perspective-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Perspective.pic"}
  3476. This operator adds perspective to an image.
  3477. @{b}Parameters@{ub}
  3478. Name        Possible Values/Unit            Description
  3479. @{uu}
  3480. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  3481.             TEMP3D1, ..., TEMP3D4
  3482. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3483.             TEMP3D1, ..., TEMP3D4
  3484. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  3485.                                             is used for the last time and can be modified
  3486.                                             directly to conserve both memory and time
  3487. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3488. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  3489. Since version 3.74 all numerical parameters are adjusted from within
  3490. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3491. @endnode
  3492. @node opWater
  3493. @{b}Water-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Water.pic"}
  3494. This operator applies a threedimensional anharmonic water-wave
  3495. to an image.
  3496. @{b}Parameters@{ub}
  3497. Name        Possible Values/Unit            Description
  3498. @{uu}
  3499. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  3500.             TEMP3D1, ..., TEMP3D4
  3501. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3502.             TEMP3D1, ..., TEMP3D4
  3503. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  3504.                                             is used for the last time and can be modified
  3505.                                             directly to conserve both memory and time
  3506. Frame       integer>0                       current frame
  3507. Frames      integer>0                       frame count describing a full cycle
  3508. Times       integer>0                       number of rings, values in the range 1..3 are
  3509.                                             are always a good choice
  3510. Rings       integer>0                       number of times the growing of rings is performed,
  3511.                                             after one cycle the 1st ring has the
  3512.                                             distance times*wavelength from the centre,
  3513.                                             values 2..10 give good results
  3514. Axis                                        direction of propagation,
  3515.             X,                               parallel to the x-axis,
  3516.             Y,                               parallel to the y-axis,
  3517.             XY,                              radial propagation
  3518. Amplitude   pixels                          wave-amplitude, this value should be always in
  3519.                                             the range 1..4
  3520. Wavelength  pixels                          wavelength
  3521. OriginX,    pixels                          location of the wave-source
  3522. OriginY     pixels
  3523. Damping     ON, OFF                         toggle damping on/off
  3524. Damping     float                           damping-value
  3525. moveXY      ON, OFF                         specify if the deformation is applied to all
  3526.                                             components (x,y,z) or not. If this option is set
  3527.                                             there may occur some singularities ("bad points"),
  3528.                                             but this mode is very close to the reality.
  3529. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3530. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  3531. Since version 3.74 all numerical parameters are adjusted from within
  3532. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3533. @endnode
  3534. @node opWave3D
  3535. @{b}Wave3D-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Wave3D.pic"}
  3536. This operator applies a harmonic wave in the threedimensional
  3537. space to an image.
  3538. @{b}Parameters@{ub}
  3539. Name        Possible Values/Unit            Description
  3540. @{uu}
  3541. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  3542.             TEMP3D1, ..., TEMP3D4
  3543. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3544.             TEMP3D1, ..., TEMP3D4
  3545. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  3546.                                             is used for the last time and can be modified
  3547.                                             directly to conserve both memory and time
  3548. Frame       integer>0                       current frame
  3549. Frames      integer>0                       number of frame describing a full cycle
  3550. Amplitude   pixels                          wave-amplitude
  3551. Wavelength  pixels                          wavelength
  3552. Phase       degrees                         phase
  3553. Axis                                        direction of propagation,
  3554.             X                                parallel to the x-axis
  3555.             Y                                parallel to the y-axis
  3556.             XY                               radial propagation in the xy-plane
  3557.             RADIAL                           radial propagation in the xyz-space
  3558. OriginX,    pixels                          position of the wave-source
  3559. OriginY     pixels
  3560. Damping     ON, OFF                         toggle damping on/off
  3561. Damping     float                           damping-value
  3562. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3563. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  3564. Since version 3.74 all numerical parameters are adjusted from within
  3565. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3566. @endnode
  3567. @node opWrap
  3568. @{b}Wrap-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Wrap.pic"}
  3569. This operator wraps an image onto a sphere or a tube. An unique
  3570. feature is the deformation of "unwrapped" portions of the image
  3571. in "RADIUS"-mode.
  3572. @{b}Parameters@{ub}
  3573. Name        Possible Values/Unit            Description
  3574. @{uu}
  3575. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  3576.             TEMP3D1, ..., TEMP3D4
  3577. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3578.             TEMP3D1, ..., TEMP3D4
  3579. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  3580.                                             is used for the last time and can be modified
  3581.                                             directly to conserve both memory and time
  3582. Axis                                        wrap axis,
  3583.             X,                               wrap the image onto a tube along the x-axis
  3584.             Y,                               wrap the image onto a tube along the y-axis
  3585.             XY,                              wrap the image onto a sphere
  3586. OriginX,    pixels                          origin of the sphere/tube
  3587. OriginY     prixels
  3588. Amount      0...100                         wrap-amount
  3589. Radius      pixels                          radius of the sphere or tube
  3590. Method                                      method used for wrapping,
  3591.             RADIUS,                          create a sphere/tube of the radius
  3592.                                              specified, wrap the image onto it and
  3593.                                              deform the unwrapped portions according
  3594.                                              to the shape
  3595.             AMOUNT                           create a sphere/tube to fit the whole
  3596.                                              wrapped image, the specified amount-value
  3597.                                              specifies the amount of wrapping in percent
  3598. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3599. settings can be adjusted from within the global @{" Render-Settings " link RenderSettings}-Window.
  3600. Since version 3.74 all numerical parameters are adjusted from within
  3601. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3602. @endnode
  3603. @node opARexx
  3604. @{b}ARexx-Operator@{ub}
  3605. This operator makes it possible to exchange images with other applications.
  3606. The basic concept is to produce an ARexx-script which causes the application
  3607. to load, process and save a temperary image created by Wildfire.
  3608. @{b}Parameters@{ub}
  3609. Name         Possible Values/Unit            Description
  3610. @{uu}
  3611. Input        STREAM, TEMP1, ..., TEMP8       input buffer
  3612. Ouput        STREAM, TEMP1, ..., TEMP8       output buffer
  3613. Port         string                          ARexx-port of the application
  3614. Temp-File    string                          path for the temperorary image to be created
  3615. Add          (gadget)                        add a line to the ARexx-script
  3616. Kill         (gadget)                        kill the selected line
  3617. Up           (gadget)                        move the selected line up
  3618. Down         (gagget)                        move the selected line down
  3619. Clear        (gadget)                        clear the whole script
  3620. Add Variable (gadget)                        add a variable-entry to the selected line
  3621. Import       (gadget)                        load a previously saved script
  3622. Export       (gadget)                        save the current script to disk
  3623. A "normal" script should contain the three parts:
  3624.  -loading of the temporary image created by Wildfire
  3625.  -processing of this image
  3626.  -saving of the result
  3627. The 3rd part is the only important.
  3628. Every line of the script has to be entered in the format of
  3629. a C-printf-command. This allows one to use Envelopes in
  3630. such an ARexx-script.
  3631. The basic syntax is as follows:  "<formatstring>",arguments
  3632. (The enclosing '"'-characters are important.)
  3633. Three formats are supported:
  3634.  "%s" - for strings
  3635.  "%d" - for integer parameters
  3636.  "%f" - for float parameters
  3637. The number of format-specifiers must be always equal to the number
  3638. of arguments. Any special formats-strings like "%.4lf" are
  3639. not supported.
  3640. Examples:
  3641.  line to be entered:                 line generated by Wildfire:
  3642.   "integer: %d",10.3                  integer: 10
  3643.   "float: %f",10.3                    float: 10.3
  3644.   "i: %d, f: %f, s: '%s'",4,3,str     i: 4, f: 3.0, s: 'str'
  3645. To use an Envelope simply enter it's name as argument, rounding
  3646. is performed if you specify "%d" as corresponding formatstring.
  3647. The filename of the temporary image can be omitted using
  3648. the predefined argument "tempfile".
  3649. Now let's create a working example. Assume you want to have
  3650. ADPro to halve your images and to apply an Antique-effect
  3651. to the result.
  3652. At first you have to set the path of your application (which
  3653. will be started automatically if it's port cannot be located)
  3654. from within the @{" Preferences-Window " link PreferencesWindow}.
  3655. After that you have to specify the portname, in this case "ADPro".
  3656. At first entry in the script you should specify ADPro's default Loader:
  3657.  "lformat "universal""
  3658. Now the image can be loaded
  3659.  "load '%s'",tempfile
  3660. Apply the effects:
  3661.  "operator halve"
  3662.  "operator antique"
  3663. Specify the the Saver to use:
  3664. "sformat "iff""
  3665. Save the image:
  3666.  "save '%s' raw",tempfile
  3667. That's all. Now you should save this script
  3668.  "lformat "universal""
  3669.  "load '%s'",tempfile
  3670.  "operator halve"
  3671.  "operator antique"
  3672.  "sformat "iff""
  3673.  "save '%s' raw",tempfile
  3674. as "reference-script". For further purposes only the "operator"-lines
  3675. have to be replaced.
  3676. Since version 3.74 all numerical parameters are adjusted from within
  3677. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3678. @endnode
  3679. @node opComment
  3680. @{b}Comment-Operator@{ub}
  3681. This operator simply allows you to add comments to the Processor-script.
  3682. @{b}Parameters@{ub}
  3683. Name        Possible Values/Unit      Description
  3684. @{uu}
  3685. String      string                    the comment
  3686. @endnode
  3687. @node opRaster
  3688. @{b}Raster-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Raster.pic"}
  3689. This operator applies a black raster to an image. The main
  3690. purpose of this PlugIn is to reduce the size of delta-compressed
  3691. animations without loosing too much details.
  3692. @{b}Parameters@{ub}
  3693. Name        Possible Values/Unit            Description
  3694. @{uu}
  3695. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  3696. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  3697. @endnode
  3698. @node opCircle
  3699. @{b}Circle-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Circle.pic"}
  3700. This operator draw an optinally filled circle.
  3701. @{b}Parameters@{ub}
  3702. Name        Possible Values/Unit            Description
  3703. @{uu}
  3704. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  3705. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  3706. CentreX,    pixels                          centre of circle
  3707. CentreY
  3708. Radius      pixels                          circle radius
  3709. Thickness   pixels                          thickness, use values larger than
  3710.                                             Radius to create a filled circle
  3711. Red,        0...255                         color of the circle
  3712. Green,
  3713. @{b}Notes@{ub}
  3714. 1) This PlugIn supports "parameter-dragging" from within
  3715.    the @{" ImageCoordinates-Window " link ImageCoordinatesWindow}.
  3716. @endnode
  3717. @node opRectangle
  3718. @{b}Rectangle-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Rectangle.pic"}
  3719. This operator draws an optionally filled rectangle.
  3720. @{b}Parameters@{ub}
  3721. Name        Possible Values/Unit            Description
  3722. @{uu}
  3723. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  3724. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  3725. Left,       pixels                          centre of circle
  3726. Top                                         lower-left-edge
  3727. Width,      pixels                          size of the rectangle
  3728. Height
  3729. Thickness   pixels                          thickness, use values larger than
  3730.                                             Height/2 to create a filled rectangle
  3731. Red,        0...255                         color of the rectangle
  3732. Green,
  3733. @{b}Notes@{ub}
  3734. 1) This PlugIn supports "parameter-dragging" from within
  3735.    the @{" ImageCoordinates-Window " link ImageCoordinatesWindow}.
  3736. @endnode
  3737. @node opSetBackground
  3738. @{b}SetBackground-Operator@{ub}
  3739. This operator is made to change the global background-color
  3740. of the @{" Processor-Window " link ProcessorWindow} dynamically.
  3741. @{b}Parameters@{ub}
  3742. Name        Possible Values/Unit            Description
  3743. @{uu}
  3744. Red,        0...255                         color
  3745. Green,
  3746. Since version 3.74 all numerical parameters are adjusted from within
  3747. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3748. @endnode
  3749. The original values are rembered and restored while initializing a
  3750. new stream.
  3751. @node opGetDimensions
  3752. @{b}GetDimensions-Operator@{ub}
  3753. This operator applies image-dimensions to the predefined calculator-symbols
  3754. "pcWidth" and "pcHeight". This makes it possible to create scripts which
  3755. are independant of the image-size. This PlugIn only makes sense
  3756. in conjunction with procedural Variables specified from within
  3757. the @{" Variables-Window " link VariablesWindow}.
  3758. @{b}Parameters@{ub}
  3759. Name        Possible Values/Unit            Description
  3760. @{uu}
  3761. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  3762. Output                                      symbol to modify
  3763.             WIDTH                            pcWidth
  3764.             HEIGHT                           pcHeight
  3765.             BOTH                             pcWidth and pcHeight
  3766. @endnode
  3767. @node opText
  3768. @{b}Text-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Text.pic"}
  3769. This operator renders text in various styles. Unlike to other programs
  3770. whole text-files can be used and edited.
  3771. @{b}Parameters@{ub}
  3772. Name        Possible Values/Unit            Description
  3773. @{uu}
  3774. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  3775. Style                                       render-style
  3776.             NORMAL                           use the font without applying
  3777.                                              any changes, this method should be
  3778.                                              selected using color-fonts
  3779.             OUTLINE                          draw outlines of the selected font
  3780.             EMBOSS                           produce a threedimensional look
  3781. Adjust      LEFT, CENTERED, RIGHT           text-adjustment, this setting has only an effect when
  3782.                                             plotting more than one line of text
  3783. Red,        0...255                         text-color
  3784. Green,      0...255
  3785. Blue        0...255
  3786. Strength    pixels                          thickness of the outline drawed around the
  3787.                                             text in OUTLINE- or EMBOSS-mode
  3788. Intensity   float                           light-intensity (1.0=normal)
  3789. LightX,     pixels                          light-position
  3790. LightY,     pixels
  3791. LightZ      pixels
  3792. HSkip       pixels                          additional space between two lines
  3793. Select Font (gadget)                        select the font to use for all lines
  3794. Add         (gadget)                        add a line of text
  3795. Kill        (gadget)                        delete the selected line
  3796. Up          (gadget)                        move the selected line up
  3797. Down        (gadget)                        move the selected line down
  3798. Clear       (gadget)                        clear all lines of text
  3799. Import      (gadgt)                         import text from a file
  3800. Export      (gadget)                        save the current text to disk
  3801. @endnode
  3802. Since version 3.74 all numerical parameters are adjusted from within
  3803. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3804. @node opGSImport
  3805. @{b}GSImport-Operator@{ub} @{" Example " system "visage wf:doc/pictures/GSImport.pic"}
  3806. This PlugIn runs Ghostscript to import Postscript (TM)-files. To
  3807. consume both time and memory only the first page of documents is
  3808. processed. But the main purpose of this PlugIn is to convert
  3809. EPS-illustrations into "editable images".
  3810. @{b}Parameters@{ub}
  3811. Name        Possible Values/Unit            Description
  3812. @{uu}
  3813. Output      STREAM, TEMP1, ..., TEMP8  Output buffer
  3814. File        string                     Postscript-file
  3815. Resolution  integer                    Resolution
  3816. XGeom,      pixels                     crop-region
  3817. YGeom
  3818. View        (gadget)                   Display the file using the default displayer
  3819. Since version 3.74 all numerical parameters are adjusted from within
  3820. the @{" Parameter-Settings " link ParameterSettings}-Window.
  3821. @{b}Notes@{ub}
  3822. A) This PlugIn requires a complete installation of Ghostscript.
  3823.    Because only the ppmraw-device is used there is no need for a special
  3824.    version. Even version 2.62 for AmiWin was sucessfully tested.
  3825. B) Due it's nature this PlugIn is relatively slow. But in comparison to
  3826.    similar X11-Tools this is normal.
  3827. C) If you want to import a very small figure at high resolution you
  3828.    have to set the geometry-parameters.
  3829.    Example:
  3830.    Your figure has a dimension of about 3x2.5 cm and you want to import
  3831.    it at a resolution of 120 dpi. If you don't change the geometry-parameters
  3832.    the WHOLE page is written at this resolution which requires a LOT
  3833.    of memory and wastes much time. In this example you should specify
  3834.    a crop region of about 320x256 instead.
  3835. D) Use the @{" AutoCrop " link opAutoCrop}-PlugIn to crop the
  3836.    "region of interest" from the imported page.
  3837. @{b}Copyrights@{ub}
  3838. Ghostscript is Copyright (C) 1989, 1992, 1993 Aladdin Enterprises.
  3839. PostScript is a trademark of Adobe Systems, Incorporated.
  3840. AmiWin is Copyright (C) 1994, 1995 Holger Kruse.
  3841. @endnode
  3842. @NODE beispiele "5. Examples"
  3843. @{b}5. Examples
  3844. -----------------------------------------------------------------@{ub}
  3845.  (i) An animation will be displayed in negative colors and a smaller
  3846.      version of the anim will be placed in the right colors over
  3847.      the `negative` animation
  3848.      Scheme:
  3849.       *STREAM to negativ and save to TEMP1
  3850.       *STREAM to halve and save to STREAM
  3851.       *Compose TEMP1 as background and STREAM as foreground
  3852.        and save to STREAM
  3853.      ARexx-Program:
  3854.       pc_add negative stream temp1
  3855.       pc_add scale stream stream width/2 height/2
  3856.       pc_add compose width/3 height/3 100 temp1 stream stream none
  3857.      NOTE:
  3858.     *The ARexx-notation is very useful. So you can take the examples
  3859.      as macros and you`ll learn how to use the ARexx port of Wildfire,
  3860.      too.
  3861.     *Of course you should try out the examples inside the program,
  3862.      first. Just start @{" WILDFIRE " link Wildfire.guide/MAIN}, klick on the PROCESSOR-GADGET,
  3863.      and push the ADD BUTTON. Doubleclick on NEGATIVE and doubleclick
  3864.      on the NEGATIVE entry in the script. Now you can select STREAM as INPUT and
  3865.      TEMP1 as output. Do the needed things for the other 2 commands, too.
  3866.     *width and height are the height and the width of the animation or
  3867.      the single-pictures. With the ARexx commands "T_ANIMINFO" or
  3868.      "T_PICINFO" you can get the needed details.
  3869.  (ii) An animation will be placed on a colored background using a white
  3870.       border with shadow.
  3871.       Scheme:
  3872.     *create a colored background with width+80 and height+80 in
  3873.      "TEMP1"
  3874.     *create a white picture with width+20 and height+20 in "TEMP2"
  3875.      the border-size is 10 pixels (20/2)
  3876.     *create a black picture with width+20 and height+20 in "TEMP3"
  3877.      the border-size is 10 pixels, too
  3878.     *place the black picture on the colored background with offset
  3879.      40x40 pixels
  3880.     *place the white picture on the colored background (now with
  3881.      the black picture on it) with offset 30x30
  3882.     *all these things you have to do ONLY 1 time, the result-picture
  3883.      will be saved to buffer "TEMP1" and will NOT be changed anymore!
  3884.      So we can tell @{" Wildfire " link Wildfire.guide/MAIN} that it has to do this
  3885.       effect only for the first frame!
  3886.     *every picture from the animation will be placed with
  3887.      offset 40x40 on the created colored picture with black and white
  3888.      border.
  3889.       ARexx-Programm:
  3890.        /* create background and save to TEMP1  */
  3891.        pc_add createimage temp1 width+80 height+80 255 0 0  255 255 0  0 255 0  0 0 255
  3892.        pc_add createimage temp2 width+20 height+20 255 255 255  255 255 255  255 255 255  255 255 255
  3893.        pc_add createimage temp3 width+20 height+20 0 0 0  0 0 0  0 0 0  0 0 0
  3894.        pc_add compose 40 40 100 temp1 temp3 temp1 none
  3895.        pc_add compose 30 30 100 temp1 temp2 temp1 none
  3896.        /* only do this operations at frame 1 */
  3897.        pc_select createimage 1
  3898.        pc_to 1
  3899.        pc_select createimage 2
  3900.        pc_to 1
  3901.        pc_select createimage 3
  3902.        pc_to 1
  3903.        pc_select compose 1
  3904.        pc_to 1
  3905.        pc_select compose 2
  3906.        pc_to 1
  3907.        /* compose STREAM with TEMP1 for every animation-picture */
  3908.        pc_add compose 40 40 100 temp1 stream stream none
  3909. @ENDNODE
  3910. @remark /*************************************************************/
  3911. @remark /*
  3912. @remark                            Developer
  3913. @remark */
  3914. @remark /*************************************************************/
  3915. @node Developer
  3916. @{b}The YAFA-Format@{ub}
  3917. If you want to develop your own YAFA-player or just want
  3918. to support the YAFA-format from within your application you may
  3919. have a look at the @{" YAFA-Format-Description " link YAFA-doc.guide/MAIN}.
  3920. @{b}Wildfire-PlugIns@{ub}
  3921. If you on the other side are interested in developing addional
  3922. PlugIns (savers, operators or general PlugIns) for Wildfire please
  3923. contact the author at "epgbc@cluster1.urz.Uni-Halle.DE".
  3924. If there are at leat 10 requests I will start to create
  3925. a developer-kit including working examples and full
  3926. documentation.
  3927. Currently (Thursday 05-Jun-97) there are only two requests.
  3928. The only supported compiler is GCC, but SAS may work, too.
  3929. @endnode
  3930. @remark /*************************************************************/
  3931. @remark /*
  3932. @remark                            ARexx
  3933. @remark */
  3934. @remark /*************************************************************/
  3935. @node ARexx
  3936. @{b}The ARexx-port@{ub}
  3937. The ARexx-port is another powerful feature of Wildfire which
  3938. allows you
  3939.   -to use all features from within other programs
  3940.   -to enhance the GUI with your own windows without
  3941.   -to write own ARexx-applications which operate like the program itself
  3942. Example: You have designed a nice special effect like a transition
  3943.          between three animations or whatever. Now you want to integrate
  3944.          this nice feature into Wildfire as a "natural feature".
  3945.          This is easy ! All you have to do is to design a so-called
  3946.          "Custom-window" with buttons, string-gadgets, switches, ...
  3947.          and to write the procedure itself.
  3948. @{b}Topics:@{ub}
  3949.  @{" Usage          " LINK ARexxUsage}
  3950.  @{" Error-Messages " LINK ARexxErrors}
  3951.  @{" Custom-windows " LINK ARexxCWindows}
  3952.  @{" Commands       " LINK ARexxCommands}
  3953. @endnode
  3954. @node ARexxUsage
  3955. The name of the ARexx-port is equal to the name of the publicscreen
  3956. opened by Wildfire.
  3957. For the first running copy of the programm the port is named "Wildfire",
  3958. for the second "Wildfire.1" and so on.
  3959. I don't think that's very usefull to run more copies at one time -
  3960. but it's possible.
  3961. The command-hierarchy is equal to the window-hierarchy.
  3962. This makes it very easy for you to find out the right name
  3963. for a particular command.
  3964. Every command consists of the hierarchy-identifier and
  3965. the function-name, e.g. the "Play"-button of the Player-window
  3966. is named "P_PLAY".
  3967. Most of the arguments are strings or integer-values. It's recommended
  3968. to enclose strings into "'"-characters otherwise they are converted
  3969. to uppercase by the ARexx-system.
  3970. There are three ways to invoke ARexx-commands:
  3971.  1. scripts
  3972.   1a) called as macros from Wildfire after pressing one of the function-keys
  3973.   1b) started from a shell
  3974.  2. direct commands
  3975.  3. external programs
  3976. Direct commands are nice to try out a special command, e.g., if you
  3977. want to check out the "PL_APPENDDIR"-command you may type in a shell-
  3978. window:
  3979.  rx "address 'Wildfire'
  3980. pl_appenddir 'data:grafix/frames'"
  3981. Another way to test single commands is to use the "Command"-PlugIn.
  3982. An input string
  3983.  "pl_appenddir 'data:grafix/frames'"
  3984. would cause the same result as the example shown above.
  3985. The advantage of the use of the Command-PlugIn is the fact that it's
  3986. faster because it doesn't use ARexx and displays the results
  3987. of the in the same window. (ARexx-errors sometimes are cryptic.)
  3988. @endnode
  3989. @node ARexxCWindows
  3990. Custom-windows are another powerful feature of Wildfire.
  3991. You can create as much own windows as you want, they can
  3992. be loaded, saved, opened, closed, deleted, ... at any time.
  3993. So it's possible to create Toolmanager-like docks on the
  3994. Wildfire-screen which can be loaded at startup.
  3995. But the main purpose is to give you the possibility to enhance
  3996. the program easily and to fit it to your needs.
  3997. Window-elements
  3998. -------------------------------------------------------------------
  3999. Custom windows can contain
  4000.   -buttons
  4001.   -string-gadgets
  4002.   -switches
  4003.   -lines
  4004.   -boxes and
  4005.   -texts.
  4006. All these elements remain to the window as long as you
  4007. don't kill them.
  4008. But you have the possibility to apply graphical elements
  4009. which are not stored as structures to the window.
  4010. So you could create an own progress-bar or a function-plotter..
  4011. Attention:
  4012. If you want to have spaces in you window- or gadget-names
  4013. you have to use a special character (code 160).
  4014. (This restriction is due the command-parsing.)
  4015. Example:
  4016. space='a0'x
  4017. wnd="Transition.rexx" || space || "V0.3"
  4018. Window-coordinates
  4019. -------------------------------------------------------------------
  4020. Because Wildfire has a fontsensitve GUI you can't use absolute
  4021. coordinates to specify window-elements.
  4022. So you have to design your windows using a topaz.8-font
  4023. to ensure that they look perfect for example with a times.24-font.
  4024. If you want to design a very difficult window with 500
  4025. gadgets, 300 bevelboxes, ... it's seems to be no bad idea
  4026. to use GadToolsBox
  4027. . Using this nice program you can drag and
  4028. size your gadgets in an easy way - just take down the coordinates
  4029. after finishing it.
  4030. A simple example
  4031. -------------------------------------------------------------------
  4032. The following example called "ConvertPics.rexx" opens a window
  4033. which lets you specify a range of your current picture-list
  4034. and has a "Convert"-button. This makes is possible to
  4035. convert only a small part of the picture-list which is
  4036. very usefull if you want to test a very complex process.
  4037. 1. Program-structure
  4038.     (i) create the window, initialize the parameters
  4039.     (ii) perform an endless loop receiving messages:
  4040.           1. check for pressed gadgets
  4041.               -> start filerequester, read gadget-contents
  4042.           2. check for the closegadget
  4043.               -> exit
  4044.           3. check for the start-button
  4045.               -> check the parameters
  4046.               -> do it
  4047. 2. Program
  4048.     /* Are we right ? */
  4049.     if ~show('P','Wildfire') then do
  4050.      say " Error: The Wildfire-program must be started before executing this script."
  4051.      exit
  4052.     end
  4053.     /* Initialize the global variables */
  4054.     address "Wildfire"
  4055.     options results
  4056.     wnd="Convert"
  4057.     from=1
  4058.     to=1
  4059.     /* Create the window */
  4060.     cw_kill wnd
  4061.     cw_add wnd 309 70
  4062.     /* Create the Gadget */
  4063.     cw_addgadget wnd string 202 11 84 "From"
  4064.     cw_addgadget wnd string 202 27 84 "To"
  4065.     cw_addgadget wnd button 25 46 261 "Convert"
  4066.     /* It's important to open the window before setting the gadgets */
  4067.     cw_open wnd
  4068.     cw_setgadget wnd "From" from
  4069.     cw_setgadget wnd "To" to
  4070.     /* main loop */
  4071.     do forever
  4072.      /* check if the window is still open */
  4073.      cw_isopen wnd
  4074.      qt=result
  4075.      /* no: leave the script */
  4076.      if qt=0 then call cleanup
  4077.      /* wait for gadgets */
  4078.      cw_wait wnd
  4079.      gadget=result
  4080.      /* which gadget was pressed */
  4081.      if gadget="From" then do
  4082.       /* get the "from"-value from the gadget */
  4083.       cw_getgadget wnd "From"
  4084.       from=result
  4085.      end
  4086.      else if gadget="To" then do
  4087.       /* get the "to"-value from the gadget */
  4088.       cw_getgadget wnd "To"
  4089.       to=result
  4090.      end
  4091.      else if gadget="Convert" then do
  4092.       /* now let's do it */
  4093.       c_convertpics from to
  4094.      end
  4095.     end
  4096.     cleanup:
  4097.     cw_kill wnd
  4098.     exit
  4099.  GadToolsBox is Copyright 
  4100.  1991-93 Jaba Development
  4101. @endnode
  4102. @node ARexxErrors
  4103. There are 4 error-messages which will be shown together
  4104. with the command in the default CON:-window:
  4105.  1: wrong number of arguments
  4106.  2: wrong arguments
  4107.  3: unknown command
  4108.  4: command failed
  4109. Most of the commands are valid everywhere, but there are exeptions,
  4110. e.g. if you haven't defined any variable you can't open
  4111. the envelope-window. This would cause error 4.
  4112. Normally you can access all program functions without opening
  4113. any of the windows, but there are the following exceptions:
  4114.  -Timecodes-, AnimInfo-, Envelope- and EnvelopeAdvanced-commands
  4115.   require that the corresponding Window was opened
  4116.   (This is due the internal data-structure and no error or
  4117.    similar.)
  4118. If the program executes an ARexx-command all requesters
  4119. except the one invoked by the "M_MESSAGE"-command are
  4120. turned off, but the requester-messages are shown in the
  4121. Log-Window.
  4122. @endnode
  4123. @node ARexxCommands
  4124. The command-list below shows all available commands,
  4125. values enclosed into brackes are alternative keywords.
  4126.  Main:
  4127.   M_EXIT
  4128.   M_QUIT
  4129.   M_WAIT secs
  4130.   M_MESSAGE text
  4131.   M_REQUEST text (res=0: o.k.)
  4132.   M_OPENCONVERTER
  4133.   M_CLOSECONVERTER
  4134.   M_OPENPROCESSOR
  4135.   M_CLOSEPROCESSOR
  4136.   M_OPENEDITOR
  4137.   M_CLOSEEDITOR
  4138.   M_OPENPLAYER
  4139.   M_CLOSEPLAYER
  4140.   M_OPENPREFS
  4141.   M_CLOSEPREFS
  4142.   M_OPENINFO
  4143.   M_CLOSEINFO
  4144.   M_MOVE x y
  4145.   M_TOFRONT
  4146.   M_TOBACK
  4147.   M_OPENTMAKER
  4148.   M_CLOSETMAKER
  4149.   M_OPENIMOPTIONS
  4150.   M_CLOSEIMOPTIONS
  4151.   M_ADDICON file
  4152.   M_CLEANUP
  4153.   M_RESET
  4154.   M_LOAD
  4155.   M_SAVE
  4156. Tools:
  4157.   T_DELPICTURELIST
  4158.   T_GETNUMBER title [preset]
  4159.   T_GETSTRING title [preset]
  4160.   T_GETFILE title [preset]
  4161.   T_GETDRAWER titlee [preset]
  4162.   T_ANIMINFO name (0=o.k.)
  4163.   T_PICINFO name (0=o.k.)
  4164.   T_GETWIDTH
  4165.   T_GETHEIGHT
  4166.   T_GETDEPTH
  4167.   T_GETCOLORS
  4168.   T_GETFRAMES
  4169.   T_GETANIMDRAWER
  4170.   T_GETPICDRAWER
  4171.   T_GETMODDRAWER
  4172.   T_GETROOTDRAWER
  4173.   T_PEXTENSION extension
  4174.   T_REQSTATUS (ON|OFF)
  4175.  Prefs:
  4176.   PR_PLAYERSCREEN name
  4177.   PR_SCREENMODE id width height depth
  4178.   PR_SCREENDEPTH depth
  4179.   PR_LOADPREFS
  4180.   PR_SAVEPREFS
  4181.   PR_OPENPATHS
  4182.   PR_CLOSEPATHS
  4183.   PR_OPENMACROS
  4184.   PR_CLOSEMACROS
  4185.   PR_DCLICKTIME val
  4186.   PR_STATISTICS (ON|OFF)
  4187.   PR_EXPERTMODE (ON|OFF)
  4188.   PR_BRUTALBLIT (ON|OFF)
  4189.   PR_MOVE x y
  4190.  Paths:
  4191.   PT_ANIMATIONDRAWER name
  4192.   PT_PICTUREDRAWER name
  4193.   PT_SOUNDDRAWER name
  4194.   PT_ROOTDRAWER name
  4195.   PT_YAFAPLAYER name
  4196.   PT_ANIMPLAYER name
  4197.   PT_MPEGPLAYER name
  4198.   PT_VIEWER name
  4199.   PT_MOVE x y
  4200.  Info:
  4201.   I_FREEMEM
  4202.   I_MOVE x y
  4203.  Text:
  4204.   TXT_TEXT file
  4205.   TXT_TEXTNC file
  4206.   TXT_MOVE x y
  4207.   TXT_CLOSE
  4208.   TXT_WAIT
  4209.   TXT_CENTRE
  4210.  Player:
  4211.   P_FILE [name]
  4212.   P_BUFFERS num
  4213.   P_ABUFFER num
  4214.   P_DISPLAY (NORMAL|ZOOMED|DITHERED)
  4215.   P_CACHING (ON|OFF)
  4216.   P_OUTPUT (HARDWARE|WINDOW|BGWINDOW|SCREEN)
  4217.   P_24BIT (TRUE|DRGB|DRGB2|GRAY)
  4218.   P_SCREENMODE hexnum
  4219.   P_WAIT (ON|OFF)
  4220.   P_PLAY [from to]
  4221.   P_MOVE x y
  4222.   P_OPENANIMINFO
  4223.   P_CLOSEANIMINFO
  4224.   P_OPENTIMECODES
  4225.   P_CLOSETIMECODES
  4226.  AnimInfo:
  4227.   AI_MOVE x y
  4228.   AI_EXPORT name
  4229.   AI_IMPORT num
  4230.  Timecodes:
  4231.   TC_RANGE from to step
  4232.   TC_IMPORT name
  4233.   TC_EXPORT name
  4234.   TC_TIMERANGE num
  4235.   TC_MOVE x y
  4236.  Editor:
  4237.   E_AADD name
  4238.   E_AKILL
  4239.   E_AREPLACE name
  4240.   E_AINFO
  4241.   E_ASELECT name
  4242.   E_ASELECTNEXT
  4243.   E_ASELECTPREV
  4244.   E_AFROM from
  4245.   E_ATO to
  4246.   E_AUP
  4247.   E_ADOWN
  4248.   E_MADD name (MODULE|SAMPLE|EXECUTABLE)
  4249.   E_MKILL
  4250.   E_MREPLACE name
  4251.   E_MEDIT
  4252.   E_MSELECT name
  4253.   E_MSELECTNEXT
  4254.   E_MSELECTPREV
  4255.   E_MUP
  4256.   E_MDOWN
  4257.   E_OPENPROFILE
  4258.   E_CLOSEPROFILE
  4259.   E_OPENFILMCONTROL
  4260.   E_CLOSEFILMCONTROL
  4261.   E_PLAYALL
  4262.   E_PLAYSEL
  4263.   E_SAVEALL
  4264.   E_FILENAME [name]
  4265.   E_CLEAR
  4266.   E_EXPORT
  4267.   E_LOAD
  4268.   E_SAVE
  4269.   E_INSERT file
  4270.   E_APPEND file
  4271.   E_MOVE x y
  4272.  EditorAnimInfo:
  4273.   EAI_DISPLAY (NORMAL|ZOOMED|DITHERED)
  4274.   EAI_CACHING (ON|OFF)
  4275.   EAI_BUFFERS num
  4276.   EAI_ABUFFER num
  4277.   EAI_SPEED num
  4278.   EAI_MOVE x y
  4279.   EAI_CLOSE
  4280.  ModuleOptions:
  4281.   MO_TEST
  4282.   MO_STOP
  4283.   MO_CLOSE
  4284.   MO_MOVE x y
  4285.  SampleOptions:
  4286.   SO_TEST
  4287.   SO_STOP
  4288.   SO_CHANNEL (LEFT0|RIGHT0|LEFT1|RIGHT1)
  4289.   SO_REPEAT num
  4290.   SO_VOLUME num
  4291.   SO_CLOSE
  4292.   SO_MOVE x y
  4293.  CommandOptions:
  4294.   CO_TEST
  4295.   CO_CLOSE
  4296.   CO_MOVE x y
  4297.  Processor:
  4298.   PC_ADD type [options]
  4299.     SCALE in out width height [(PIXELS|PERCENT) (IGNORE|TAKEWIDTH|TAKEHEIGHT)]
  4300.     CROP in out left top width height
  4301.     AUTOCROP in out
  4302.     ALPHA in alpha out left top
  4303.     COMPOSE left top mix back=(STREAM|TEMPx) fore=(STREAM|TEMPx) dest=(STREAM|TEMPx) (NONE|COLOR|INRANGE|OUTRANGE) [red1 green1 blue1 [red2 green2 blue2]]
  4304.     BALANCING in out red green blue bright contrast gamma saturation
  4305.     DISPLACE in out radius probability seed
  4306.     ROTATE in out centreX centreY radius amount zoom
  4307.     NEGATIVE in out
  4308.     COLORTOGRAY in out (AVERAGE|LUMINANCE|CUSTOM) [red] [green] [blue]
  4309.     SHIFTLINES in out (HORIZONTAL|VERTICAL) shift [(NORMAL|POSITIVE|NEGTIVE) amount probability seed]
  4310.     SAVETEMP buffer
  4311.     LOADTEMP buffer
  4312.     KILLTEMP buffer
  4313.     LOADIMAGE out sequence repeat shift
  4314.     CREATEIMAGE out width height [red0 green0 blue0 ... red3 green3 blue3]
  4315.     PIXELIZE in out width height (ON|OFF) [(XY|X|Y) size red green blue dLeft dRight dTop dBottom]
  4316.     CONVOLVE in out mix shift (file|matrix)
  4317.     TWIRL in out (IN|OUT) centreX centreY radius amount power zoom
  4318.     BUMP in heightMap out left top amount lightX lightY lightZ intensity
  4319.     TEXT out red green blue (NORMAL|OUTLINE|EMBOSS) (LEFT|RIGHT|CENTERED) hSkip font fontSize italic bold underline color textFile [strength [lightX lightY lightZ intensity]]
  4320.     ANTIQUE in out
  4321.     HALVE in out
  4322.     FLIP in out (X|Y|XY)
  4323.     MOTIONBLUR in out deltaX deltaY
  4324.     ROTATEBLUR in out centreX centreY amount radius
  4325.     BLACKHOLE in out centreX centreY amount radius
  4326.     MAGNET in out centreX centreY amount damping
  4327.     WAVE in out centreX centreY (X|Y) frames frame zoom damping (ON|OFF) amplitude wavelength phase shift
  4328.     AREXX in out port tempfile script
  4329.     COMMENT [string]
  4330.     PLASMA out width height dimension seed
  4331.     EMBOSS in out direction
  4332.     REPLACECOMP in1 in2 out (RED|GREEN|BLUE)
  4333.     OILTRANSFER in out rect
  4334.     MEDIANFILTER in out rect
  4335.     ADD in1 in2 out (ADD|SUBTRACT)
  4336.     RASTER in out
  4337.     SWAPRGB in out (RBG|GRB|GBR|BRG|BGR)
  4338.     NOISE in out intensity probability seed
  4339.     POSTERISE in out bits
  4340.     ROLL in out deltaX deltaY (ON|OFF)
  4341.     CARTESIAN2POLAR in out r0 phi0
  4342.     THRESHOLD in out level
  4343.     SHEAR in out originX originY amount (X|Y) zoom damping (ON|OFF)
  4344.     LWOB out file width height renderSettings
  4345.     DLA out width height iterations seed red green blue
  4346.     NEON in out (TRIVIAL|HKC) red green blue radius intensity tolerance
  4347.     SETBACKGROUND red greed blue
  4348.     GSIMPORT out file resolution xGeom yGeom
  4349.     EDGEDETECT in out contrast
  4350.     LINEART in out
  4351.     RIP in out
  4352.     COLORREGION in out centreX centreY (INCLUDE|EXCLUDE) tolerance
  4353.     RECTANGLE in out left top width height thickness red green blue
  4354.     CIRCLE in out centreX centreY radius thickness red green blue
  4355.     WIND in out (LEFT|RIGHT) intensity probability seed
  4356.     BGRADIENT in out mode (RED|GREEN|BLUE|CONTRAST|BRIGHTNESS|GAMMA|SATURATTION) (PARALLEL|RADIAL) x1 y1 value1 x2 y2 value2
  4357.     KILLTEMP3D buffer
  4358.     PERSPECTIVE in out renderSettings
  4359.     CUBE in out (ON|OFF) size (ON|OFF) alpha4 alpha5 alpha2 alpha6 alpha1 renderSettings
  4360.     WRAP in out (ON|OFF) (RADIUS|AMOUNT) radius amount (X|Y|XY) renderSettings
  4361.     WATER in out (ON|OFF) frames frame (X|Y|XY) originX originY times rings amplitude wavelength (ON|OFF) damping doXY=(ON|OFF) renderSettings
  4362.     WAVE3D in out (ON|OFF) frames frame (X|Y|XY|RADIAL) originX originY originZ amplitude wavelength phase (ON|OFF) damping renderSettings
  4363.     MAGNET3D in out (ON|OFF) strength srcX srcY srcZ destX destY destZ renderSettings
  4364.     SPHERE in out (ON|OFF) radius renderSettings
  4365.     TRANSFORM3D in out (ON|OFF) scaleX scaleY scaleZ transX transY transZ (XY|YZ|XZ|NONE) alpha beta originX originY originZ renderSettings
  4366.     BUMP3D in out (ON|OFF) map amount (ON|OFF) width height (IGNORE|TAKEWIDTH|TAKEHEIGHT) originX originY (ON|OFF) renderSettings
  4367.     JOIN3D in1 in2 out (ON|OFF) renderSettings
  4368.     TWIST in out (ON|OFF) (X|Y|Z) amount dist originX originY originZ renderSettings
  4369.     TWIRL3D in out (ON|OFF) (X|Y|Z) originX originY originZ amount radius power renderSettings
  4370.     COLORCUBE in out (ON|OFF) mix (COLOR|ALPHA) (CURRENT|ACTUAL) red1 green1 blue1 ... red8 green8 blue8
  4371.     SETCOLOR in out (ON|OFF) red green blue mix renderSettings
  4372.     TRIANGULATE in out (ON|OFF) renderSettings
  4373.     ZPLOT out expr xmin xmax xcount ymin ymax ycount red green blue (ON|OFF) gRed gGreen gBlue width height renderSettings
  4374.     PARPLOT out x y z umin umax ucount vmin vmax vcount red green blue (ON|OFF) gRed gGreen gBlue width height renderSettings
  4375.     DATAPLOT out file xQuant yQuant xScale yScale zScale red green blue (ON|OFF) gRed gGreen gBlue renderSettings
  4376.     MORPH in1 in2 out frame frames renderSettings
  4377.     GENLOCK3D in out (ON|OFF) (SINGLE|INRANGE|OUTRANGE) red green blue renderSettings
  4378.     AXIS3D in out (ON|OFF) xMin xMax xTicks yMin yMax yTicks zMin zMax zTicks red green blue thickness tickSize phong=(ON|OFF) doLabels=(ON|OFF) (FRONTBOTTOM|FRONTTOP|BACKBOTTOM|BACKTOP) (RIGHTBOTTOM|RIGHTTOP|LEFTBOTTOM|LEFTTOP) (FRONTRIGHT|FRONTLEFT|BACKRIGHT|BACKLEFT) fontSize xLabel yLabel zLabel lRed lGreen lBlue renderSettings
  4379.     renderSettings=camX camY camZ (XY|YZ|XZ|NONE) alpha beta
  4380.                    centreX centreY zoom (NORMAL|PHONG|OFF)
  4381.                    lightX0 lightY0 lightZ0 lightX1 lightY1 lightZ1
  4382.                    lightX2 lightY2 lightZ2 lightX3 lightY3 lightZ3
  4383.                    lightRed0 lightGreen0 lightBlue0 lightRed1 lightGreen1 lightBlue1
  4384.                    lightRed2 lightGreen2 lightBlue2 lightRed3 lightGreen3 lightBlue3
  4385.                    ambient diffuse phong phongSize phongAngle (NORMAL|DOUBLE) quant3D
  4386.   PC_KILL
  4387.   PC_CLEAR
  4388.   PC_SELECT type [which]
  4389.   PC_UP
  4390.   PC_DOWN
  4391.   PC_FROM num
  4392.   PC_TO num
  4393.   PC_STEP num
  4394.   PC_OPENEDIT
  4395.   PC_MOVEEDIT x y
  4396.   PC_CLOSEEDIT
  4397.   PC_MODE (COLOR|HAM6|HAM8)
  4398.   PC_DITHER (NONE|FS)
  4399.   PC_SMOOTHING (OFF|LOW|MEDIUM|HIGH)
  4400.   PC_DEPTH num
  4401.   PC_CSKIP num
  4402.   PC_FILENAME [name]
  4403.   PC_LOAD
  4404.   PC_SAVE
  4405.   PC_OPENPCSINGLEPICTURE
  4406.   PC_CLOSEPCSINGLEPICTURE
  4407.   PC_OPENVARIABLES
  4408.   PC_CLOSEVARIABLES
  4409.   PC_OPENPALETTE
  4410.   PC_CLOSEPALETTE
  4411.   PC_MOVE
  4412.  Variables:
  4413.   V_ADD name
  4414.   V_SELECT name
  4415.   V_KILL
  4416.   V_RENAME
  4417.   V_SELECT name
  4418.   V_ENVELOPE
  4419.   V_FILENAME
  4420.   V_SAVE
  4421.   V_LOAD
  4422.   V_CLEAR
  4423.   V_MOVE
  4424.  Envelope:
  4425.   EV_XRANGE xmin xmax
  4426.   EV_YRANGE ymin ymax
  4427.   EV_VIEWALL
  4428.   EV_SCROLLUP
  4429.   EV_SCROLLDOWN
  4430.   EV_SCROLLLEFT
  4431.   EV_SCROLLRIGHT
  4432.   EV_SELECT num
  4433.   EV_SELECTNEXT
  4434.   EV_SELECTPREV
  4435.   EV_KILL
  4436.   EV_ADD xval yval
  4437.   EV_MOVE xval yval
  4438.   EV_DRAG xval yval steps
  4439.   EV_LOAD name
  4440.   EV_SAVE name
  4441.   EV_INTERPOLATION (SPLINE|BEZIER|LINEAR)
  4442.   EV_USE
  4443.   EV_CANCEL
  4444.   EV_OPENADVANCED
  4445.   EV_MOVE
  4446.  SinglePicture:
  4447.   PCS_INPUT name
  4448.   PCS_OUTPUT name
  4449.   PCS_TEST [time]
  4450.   PCS_SAVE
  4451.   PCS_SAVERENDERED
  4452.   PCS_APPLYDIMENSIONS
  4453.   PCS_FRAME num
  4454.   PCS_MOVE
  4455.   PCS_SCREENMODE id
  4456.   PCS_PREVIEWWIDTH val
  4457.   PCS_PREVIEWDEPTH val
  4458.   PCS_PREVIEW (ENABLED|DISABLED)
  4459.  EnvelopeAdvanced:
  4460.   EVA_RANGE from to step
  4461.   EVA_SCALE
  4462.   EVA_SHIFT
  4463.   EVA_LOADCURVE name
  4464.   EVA_SAVECURVE name
  4465.   EVA_LOADTIMECODES
  4466.   EVA_SAVETIMECODES
  4467.   EVA_XVAL val
  4468.   EVA_YVAL val
  4469.   EVA_CLOSE
  4470.   EVA_MOVE
  4471.  Converter:
  4472.   C_INPUTTYPE (ANIMATION|YAFAANIM|BLACKFRAMES)
  4473.   C_INPUTEXPORT
  4474.   C_INPUTFILENAME name
  4475.   C_OUTPUTTYPE (PICTURES|YAFAANIM|IFFANIM|NONE)
  4476.   C_OUTPUTEXPORT
  4477.   C_OUTPUTFILENAME name
  4478.   C_ANNOTATION (ON|OFF)
  4479.   C_ANNOFILENAME [name]
  4480.   C_ANNOSTRING [string]
  4481.   C_LOADSESSION
  4482.   C_SAVESESSION
  4483.   C_CONVERT
  4484.   C_CONVERTPICS first last
  4485.   C_OPENINPUTOPTIONS
  4486.   C_OPENOUTPUTOPTIONS
  4487.   C_CLOSEINPUTOPTIONS
  4488.   C_CLOSEOUTPUTOPTIONS
  4489.   C_PREVIEW (NONE|WINDOW|SCREEN)
  4490.   C_PROCESSOR (ENABLED|DISABLED)
  4491.   C_MOVE
  4492.  YAFAOptions:
  4493.   YO_IMAGEDATA (RAW|CHUNKY)
  4494.   YO_DELTA (NONE|BYTE|WORD|LONG|BYTEBR|WORDBR|LONGBR)
  4495.   YO_COMPRESSION (NONE|XPK)
  4496.   YO_COMPRESSOR name
  4497.   YO_MODE mode
  4498.   YO_COLORMAP (UNLOCKED|LOCKED)
  4499.   YO_SPEED num
  4500.   YO_FORCETIMECODES (ON|OFF)
  4501.   YO_OPENANALYSIS
  4502.   YO_MOVE
  4503.   YO_APPLY name
  4504.  Analysis:
  4505.   A_FRAMES num
  4506.   A_TEST
  4507.   A_USE
  4508.   A_CANCEL
  4509.   A_MOVE
  4510.  ANIMOptions:
  4511.   AO_TYPE (ANIM5|ANIM7S|ANIM7L)
  4512.   AO_COLORMAP (UNLOCKED|LOCKED)
  4513.   AO_SCREENMODE mode
  4514.   AO_MOVE
  4515.  PictureOptions:
  4516.   PO_BASENAME name
  4517.   PO_SCREENMODE mode
  4518.   PO_SHIFT num
  4519.   PO_MOVE
  4520.   PO_TYPE (RENDERED|TRUECOLOR)
  4521.  CreateFrames:
  4522.   CF_WIDTH num
  4523.   CF_HEIGHT num
  4524.   CF_FRAMES num
  4525.  PictureList:
  4526.   PL_INSERT names
  4527.   PL_APPEND names
  4528.   PL_INSERTDIR name
  4529.   PL_APPENDDIR name
  4530.   PL_DUPLICATE times
  4531.   PL_SORT
  4532.   PL_CHECK
  4533.   PL_RANGE from to step
  4534.   PL_REMOVERANGE
  4535.   PL_TIMERANGE num
  4536.   PL_SHOW
  4537.   PL_SELECT name [which]
  4538.   PL_SELECTNEXT
  4539.   PL_SELECTPREV
  4540.   PL_OPENPICTUREINFO
  4541.   PL_CLOSEPICTUREINFO
  4542.   PL_MOVE
  4543.  Custom-Windows:
  4544.   CW_CLOSE name
  4545.   CW_OPEN name
  4546.   CW_MOVE name x y
  4547.   CW_ADD name width height
  4548.   CW_KILL name
  4549.   CW_ADDGADGET window (STRING|BUTTON|SWITCH) left top width name [action]
  4550.   CW_GETGADGET window name
  4551.   CW_SETGADGET window name value
  4552.   CW_WAITGADGET window name
  4553.   CW_ADDTEXT window left top pen text
  4554.   CW_ADDLINE window x1 y1 x2 y2 pen
  4555.   CW_ADDRECT window left top width height pen (NORMAL|FILLED|BBOX|BBOX2)
  4556.   CW_DRAWTEXT window left top pen text
  4557.   CW_DRAWLINE window x1 y1 x2 y2 pen
  4558.   CW_DRAWRECT window left top width height pen (NORMAL|FILLED|BBOX|BBOX2)
  4559.   CW_SAVE name
  4560.   CW_LOAD name
  4561.   CW_WAIT name
  4562.   CW_ISOPEN name
  4563.  Palette:
  4564.   PP_FILENAME
  4565.   PP_LOAD
  4566.   PP_SAVE
  4567.   PP_COLOR color red green blue
  4568.   PP_STATE (ENABLED|DISABLED)
  4569.   PP_MOVE x y
  4570.  FilmStrip:
  4571.   FC_PLAY file loops rows cols [left top]
  4572.   FC_FILE file
  4573.   FC_FILMFILE file
  4574.   FC_RANGE from to step
  4575.   FC_WIDTH width
  4576.   FC_SIZE rows cols
  4577.   FC_COLOR (ORIGINAL|GRAY)
  4578.   FC_UPDATE
  4579.   FC_CLEANUP
  4580.   FC_LOAD
  4581.   FC_SAVE
  4582.   FC_CONVERT
  4583.   FC_APPEND
  4584.   FC_SCROLL val (negative->scroll left)
  4585.  CRange:
  4586.   CR_FROM num
  4587.   CR_TO num
  4588.   CR_STEP num
  4589.   CR_STATE (ENABLED|DISABLED)
  4590.  IMOptions:
  4591.   IM_FILE file
  4592.   IM_TRASHCAN (KILLICON|DELETE)
  4593.  Icon-Saver:
  4594.   IC_Image1 file
  4595.   IC_Image2 [file]
  4596.   IC_ICON file
  4597.   IC_WIDTH width
  4598.   IC_DEPTH depth
  4599.   IC_COLOR (COLOR|GRAY)
  4600.   IC_CONVERT
  4601.  TMaker:
  4602.   TM_INPUT1 file
  4603.   TM_INPUT2 file
  4604.   TM_OUTPUT file
  4605.   TM_TEMP drawer
  4606.   TM_FRAMES frames
  4607.   TM_PREVIEW (NONE|WINDOW|SCREEN)
  4608.   TM_SHOWEXAMPLE (ON|OFF)
  4609.   TM_TYPE type subtype
  4610.   TM_CREATETEMPFILES
  4611.   TM_KILLTEMPFILES
  4612.   TM_PLAY
  4613.   TM_CONVERT
  4614.   TM_CREATEEXAMPLES
  4615. @endnode
  4616. @node PowerPlugs!
  4617. @{b}PowerPlugs! - it's not a dream @{ub}
  4618. @{u}Introduction@{uu}                              @{" Example1 " system "visage wf:PowerPlugs!_01.jpg"}
  4619. PowerPlugs! are a extended version of Wildfire's 3D-operators
  4620. allowing the superposition of effects in the threedimensional space.
  4621. For example after wrapping an image onto a cube a radial-wave
  4622. could be applied to the cube.
  4623. Since version 3.14 you can combine phong-shaded Lightwave3D-objects
  4624. with your images. All 3D-effects can be applied to these objects, too.
  4625. This makes it for example possible to create a threedimensional
  4626. twirled cow in a few seconds.
  4627. This are of course incredible mega-features many 3D-programs
  4628. are missing.
  4629. You can handle so called "3D-temp-buffers", too:
  4630. TEMP3D1, ... TEMP3D4.
  4631. @{u}Usage@{uu}                                     @{" Example2 " system "visage wf:PowerPlugs!_02.jpg"} @{ub}
  4632. The usage is quiet simple. If you specify a 3d-temp-buffer
  4633. instead of an image the transformation is applied to
  4634. a virtual object and not to an image. This means that
  4635. all "final" transformation operations like rotating, scaling
  4636. or adding light are not performed. 3d-temp-buffers
  4637. can be specified both as input and output.
  4638. Example: You want to linearcombine two simple waves.
  4639.           Add a Wave3D-effect and set the originX-value to 60.
  4640.           Set the output-buffer to TEMP3D1.
  4641.           Add a second Wave3D-effect and sets it's originX-value to 260.
  4642.           Set the input-buffer to TEMP3D1.
  4643.          So what happens ? The image is read and deformed by the first
  4644.          Wave3D-operator but not rotated, scaled or rendered.
  4645.          The result is read in by the second Wave3D-operator, deformed,
  4646.          rotated and rendered.
  4647. @{u}Operators@{uu}                                 @{" Example3 " system "visage wf:PowerPlugs!_03.jpg"} @{ub}
  4648. The following operators support the PowerPlugs!-concept and
  4649. can therefore combined in any manner:
  4650.    @{" Axis3D          " link opAxis3D         } Add axes in very high quality to plots     @{" Example " system "visage wf:doc/pictures/Axis3D.pic"}
  4651.    @{" Bump3D          " link opBump3D         } Real Bump-mapping                          @{" Example " system "visage wf:doc/pictures/Bump3D.pic"}
  4652.    @{" ColorCube       " link opColorCube      } 3D color- or alpha-space                   @{" Example " system "visage wf:doc/pictures/ColorCube.pic"}
  4653.    @{" Cube            " link opCube           } Wrap an image onto a cube                  @{" Example " system "visage wf:doc/pictures/Cube.pic"}
  4654.    @{" DataPlot        " link opDataPlot       } Plot threedimensional data-sets            @{" Example " system "visage wf:doc/pictures/DataPlot.pic"}
  4655.    @{" Genlock3D       " link opGenlock3D      } Threedimensional genlock                   @{" Example " system "visage wf:doc/pictures/Genlock3D.pic"}
  4656.    @{" Join3D          " link opJoin3D         } Join two 3D-temp-buffers                   @{" Example " system "visage wf:doc/pictures/Join3D.pic"}
  4657.    @{" LWOB            " link opLWOB           } Import Lightwave-objects                   @{" Example " system "visage wf:doc/pictures/LWOB.pic"}
  4658.    @{" Magnet3D        " link opMagnet3D       } Grab and drag portions of an image         @{" Example " system "visage wf:doc/pictures/Magnet3D.pic"}
  4659.    @{" Morph           " link opMorph          } Interpolate between two objects            @{" Example " system "visage wf:doc/pictures/Morph.pic"}
  4660.    @{" ParPlot         " link opParPlot        } Plot threedimensional parametric functions @{" Example " system "visage wf:doc/pictures/ParPlot.pic"}
  4661.    @{" Perspective     " link opPerspective    } Add perspective to an image                @{" Example " system "visage wf:doc/pictures/Perspective.pic"}
  4662.    @{" SetColor        " link opSetColor       } Modify the color of objects                @{" Example " system "visage wf:doc/pictures/SetColor.pic"}
  4663.    @{" Sphere          " link opSphere         } Wrap an image onto a complete sphere       @{" Example " system "visage wf:doc/pictures/Sphere.pic"}
  4664.    @{" Transform3D     " link opTransform3D    } Perform standard 3d-transformations        @{" Example " system "visage wf:doc/pictures/Transform3D.pic"}
  4665.    @{" Triangulate     " link opTriangulate    } Convert images into smooth phong-object    @{" Example " system "visage wf:doc/pictures/Triangulate.pic"}
  4666.    @{" Twirl3D         " link opTwirl3D        } Apply a Twirl-effect along any axis        @{" Example " system "visage wf:doc/pictures/Twirl3D.pic"}
  4667.    @{" Twist           " link opTwist          } Deform an image using rotation             @{" Example " system "visage wf:doc/pictures/Twist.pic"}
  4668.    @{" Water           " link opWater          } Apply an anharmonic water-wave to an image @{" Example " system "visage wf:doc/pictures/Water.pic"}
  4669.    @{" Wave3D          " link opWave3D         } Apply a harmonic wave to an image          @{" Example " system "visage wf:doc/pictures/Wave3D.pic"}
  4670.    @{" Wrap            " link opWrap           } Wrap the image on a sphere or a tube       @{" Example " system "visage wf:doc/pictures/Wrap.pic"}
  4671.    @{" ZPlot           " link opZPlot          } Plot threedimensional functions            @{" Example " system "visage wf:doc/pictures/ZPlot.pic"}
  4672. Looking at the example-pictures
  4673. @{" Example1 again " system "visage wf:PowerPlugs!_01.jpg"}
  4674. @{" Example2 again " system "visage wf:PowerPlugs!_02.jpg"}
  4675. @{" Example3 again " system "visage wf:PowerPlugs!_03.jpg"}
  4676. keep in mind that all parameters may be animated easily
  4677. and any number of these operators can be combinated in any manner.
  4678. All scripts which where used to create these example-pictures
  4679. can be found in the "wf:doc/PlugIns"-drawer.
  4680. @{" I'm impressed ! " system "visage wf:Motivation2.jpg"}
  4681. @endnode
  4682. @remark /*************************************************************/
  4683. @remark /*
  4684. @remark                            Tutorials
  4685. @remark */
  4686. @remark /*************************************************************/
  4687. @node Tutorials
  4688. ###############################################################################
  4689. #                                                                             #
  4690. #                       Sequencer-Tutorial  1                                 #
  4691. #                                                                             #
  4692. ###############################################################################
  4693.                   @{" 1. Introduction                        " LINK Tut1-Intro}
  4694.                   @{" 2. Hardware-Requirements               " LINK Tut1-Req}
  4695.                   @{" 3. Tutorial 1                          " LINK Tut1}
  4696. @ENDNODE
  4697. @NODE Tut1-Intro "1. Introduction"
  4698. Welcome to the Sequencer Tutorial!
  4699. This workshop will show you the fantastic possibilities of the Image
  4700. Processor! You won`t trust your eyes when you see what you can do with this
  4701. great program.
  4702. As we are using the great BUILD-FROM-BLOCKS-concept you can change the
  4703. project in an easy way to fit your personal needs.
  4704. First inform yourself about the @{" Hardware Requirements " LINK Tut1-Req}!
  4705. @ENDNODE
  4706. @NODE Tut1-Req "2. Hardware Requirements"
  4707. While installation you can choose between two different versions of this
  4708. tutorial, depending on the hardware you use!
  4709. "HALVE_SIZE" is aimed on users with something like the following
  4710. configuration:
  4711.   CPU: MC68020/MC68030
  4712.   RAM: 4 MB Fast, 2 MB Chip
  4713.   HD: 120 MB
  4714.   about 10 MB free Harddisk-space!
  4715. The "HALVE_SIZE" tutorial even runs on STANDARD A1200 with only 2MB Chip
  4716. Ram and no Fast Ram!
  4717. The "NORMAL_SIZE" version of this tutorial can be used by the ones with
  4718. more extended hardware like:
  4719.   CPU: MC68040/MC68060
  4720.   RAM: 8 MB Fast, 2 MB Chip
  4721.   HD: 1 GB 
  4722.   about 25 MB free Harddisk-space!
  4723. Of course you don`t have to follow this rules, you may use the
  4724. "NORMAL_SIZE" on an slow A1200 with 4MB Fast, too.
  4725.  Now lets start with the @{" Tutorial " LINK Tut1}.
  4726. @ENDNODE
  4727. @NODE Tut1 "3. Tutorial"
  4728.                   @{" 0. Story                    " LINK Tut1-Story}
  4729.                   @{"  1. Preface                 " LINK Tut1-Teil0}
  4730.                   @{"  2. Part 1                  " LINK Tut1-Teil1}
  4731.                   @{"  3. Part 2                  " LINK Tut1-Teil2}
  4732.                   @{"  4. Part 3                  " LINK Tut1-Teil3}
  4733.                   @{"  5. Part 4                  " LINK Tut1-Teil4}
  4734.                   @{"  6. Part 5                  " LINK Tut1-Teil5}
  4735.                   @{"  7. Part 6                  " LINK Tut1-Teil6}
  4736.                   @{"  8. Part 7                  " LINK Tut1-Teil7}
  4737.                   @{"  9. Part 8                  " LINK Tut1-Teil8}
  4738.                   @{" 10. Part 9                  " LINK Tut1-Teil9}
  4739.                   @{" 11. Script                  " LINK Tut1-Script}
  4740. @ENDNODE
  4741. @NODE Tut1-Story "Story"
  4742. Starting with 2 x 60 24Bit-Pictures "CHA" and "CHB" we want to create some
  4743. animations using fading and special effects.
  4744.  Story:
  4745.   -"CHA" will be wiped into the picture
  4746.   -"CHA" will be played quite normal
  4747.   -"CHA" will be roteted (360
  4748.   -"CHA" will be twirled
  4749.   -"CHB" flies into the picture in a smalle size
  4750.   -"CHB" will be scaled to full size
  4751.   -"CHA" will be fadet out and a little bit displaced
  4752.   -"CHB" will be played quite normal
  4753.   -"CHB" will be fadet out
  4754. All session- and process files are stored in the same called directorys.
  4755. To generate the needed animations you have just to:
  4756. (f.i. animation "chab_wipe.yafa)
  4757.  - use the graphical user interface:
  4758.    *converter: load the session file "chab_wipe.session"
  4759.    *converter: press the "Convert" gadget (or just press <Return>)
  4760.     (the needed process file "chab_wipe.process" will be loaded by the
  4761.      sesssion file without user interaction.)
  4762. But we want to learn how the processor works. That`s why you should make
  4763. the animations yourself, following this tutorial! If you managed that you
  4764. will know how to work with WIldfire and it will be eas for you to produce
  4765. effects yourself!
  4766.  So first read the @{" Preface " LINK Tut1-Teil0}!
  4767. @ENDNODE
  4768. @NODE Tut1-Teil0 "Preface"
  4769. If you work with the small version (HALVE_SIZE) then you can follow the
  4770. steps written in the tutorial exactly. But if you want to use the full size
  4771. (NORMAL_SIZE) version, you have to change the path names from
  4772. wftut:halve_size/ ind wftut:normal_size/. Further on you have to use the
  4773. sizes and coordinates written in [].
  4774. Your actions are written in {} brackets.
  4775. Both animations we are dealing with consits of 60 frames each. So the
  4776. timedependent coordinates end with 60 for the last frame.
  4777. First of all start Wildfire.
  4778. {wf <enter>}
  4779. Afterwards open the preferences window.
  4780. {PREFERENCES}
  4781. Change to the paths-selector.
  4782. {PATHS}
  4783. Use the following paths:
  4784. {ANIMATIONS  wftut:halve_size/results/}
  4785. {PICTURES    wftut:halve_size/frames/}
  4786. {YAFA-PLAYER wf:YP}
  4787. Save the preferences.
  4788. {CLOSE Filenames/Drawers}
  4789. {SAVE Prefs}
  4790. {CLOSE Prefs}
  4791. Now all needed selections are made, so lets come to @{" Part 1 " LINK Tut1-Teil1}.
  4792. @ENDNODE
  4793. @NODE Tut1-Teil1 "Part 1"
  4794. cha_wipe.yafa
  4795. Open the converter window.
  4796. {CONVERTER}
  4797. If you want to do it the easy way just load the session file!
  4798. {LOAD Session cha_wipe.session}
  4799. All settings are made automaticly, you jut need to start converting.
  4800. {CONVERT}
  4801. You can do this for all 9 animations but ...
  4802. We want to get to know how the program works, so ...
  4803. we will NOT use this files but do everything ourselves!
  4804. Select Single Pictures as Input Type.
  4805. {INPUT TYPE Pictures}
  4806. Select YAFA Animation as Output Type.
  4807. {OUTPUT TYPE YAFA Animation}
  4808. Select the following YAFA Options:
  4809. {RELATED OPTIONS}
  4810. {IMAGE-DATA RAW}
  4811. {COLORMAP UNLOCKED}
  4812. {FORCE TIMECODES OFF}
  4813. {SPEED 2} [3]
  4814. {POST-COMPRESSION XPK}
  4815. {Compressor FAST}
  4816. {DELTA-COMPRESSION ByteBR}
  4817. {Uncompressed Frames 1}
  4818. {UC-Mode Delta}
  4819. Close the YAFA-Options.
  4820. {CLOSE YAFA-Options}
  4821. Select
  4822. {PREVIEW Screen}  and
  4823. {PROCESSOR Enabled}
  4824. {INPUT RELATED OPTIONS}
  4825. Add the directory with the 60 pictures for the CHA anim:
  4826. {ADDDIR wftut:halve_size/frames/chA}
  4827. {CLOSE Related Options}
  4828. Choose the name for the animation:
  4829. {OUTPUT Browse}
  4830. {wftut:halve_size/results/cha_wipe.yafa}
  4831. Open the
  4832. {PROCESSOR}
  4833. First of all we want the Animation CHA to fly from the left side into the
  4834. screen. Furthermore we want to fade this animation.
  4835. So we create a black screen as background.
  4836. {ADD CREATEIMAGE}
  4837. Now we edit create-image.
  4838. {DOUBLECLICK CreateImage} (in the list) or {EDIT}
  4839. Now we make the following selections:
  4840. {WIDTH 176}  [352]   ... width of the Animation
  4841. {HEIGHT 144} [288]   ... height of the Animation
  4842. {OUTPUT Temp1}       ... buffer for the black picture
  4843. Now we select for all 4 colors the rgb-values 0. The color-gadgets will be
  4844. displayed in their right colors if you work on an 256 color-screen.
  4845. Otherwise you will NOT see their right colors. Just look at the values,
  4846. they have to be 0,0,0.
  4847. ************************************************************
  4848. Note:
  4849. To get the needed coordinates in a very easy way just do the following
  4850. things:
  4851. f.i. add CreateImage effect. Select the effect. (like described some lines
  4852. {OPEN Single-Picture-Process}
  4853. {INPUT wftut:halve_size/frames/cha/pic.0001}
  4854. {APPLY DIMENSIONS}
  4855. Using Apply Dimensions the sizes of the picture will be used for the
  4856. effect. Thats for instance the size for the CreateImage effect and the
  4857. centre coordinates for the twirl and rotate effect.
  4858. ************************************************************
  4859. {CLOSE CreateImage-Options}
  4860. Now we create some variables.
  4861. {VARIABLES}
  4862. {ADD left}
  4863. {ADD mix}
  4864. {DOUBLECLICK left}
  4865. We are looking at the envelopes-window.
  4866. Let`s add two points:
  4867. {ADD PNT  Klick into the window}
  4868. {ADD PNT  Klick into the window}
  4869. The change the position of the first poin we select it:
  4870. {KLICK on the 1. point}
  4871. {X = 0}                  (just write it into the correspondending gadget)
  4872. {Y = -160.00}
  4873. Select the second point.
  4874. {KLICK on the 2. point}
  4875. {X = 5}
  4876. {Y = 0}
  4877. Select the 3. point.
  4878. {KLICK on the 3. point}
  4879. {X = 60}
  4880. {Y = 0}
  4881. Choose bezier as interpolation method.
  4882. {INTERPOLATION bezier}
  4883. For the following variables you follow these steps exactly. I use a short
  4884. form of writing the down. Have a look at these examples for the variables
  4885. you created a minute ago.
  4886. Variable:      left
  4887. Points:         3
  4888. Nr. 1:          0, -160
  4889. Nr. 2:          5,    0
  4890. Nr. 3:         60,    0
  4891. Interpolation: bezier
  4892. Lets come to the second variable.
  4893. 2. Variable:
  4894. Variable:      mix
  4895. Points:         3
  4896. Nr. 1:          0,    0
  4897. Nr. 2:         20,  100
  4898. Nr. 3:         60,  100
  4899. Interpolation: bezier
  4900. {CLOSE Envelope}
  4901. {CLOSE Variables}
  4902. Now we add a compose effect:
  4903. {ADD COMPOSE}
  4904. {EDIT compose}
  4905. {BACKGROUND Temp1}   ... generated picture in Temp1
  4906. {FOREGROUND Stream}  ... Animation in Stream
  4907. {DESTINATION Stream} ... destination -> Animation
  4908. {ALPHA none}         ... Alpha Channel
  4909. {GENLOCK none}
  4910. {LEFT left}  ... Using the gadget VAR you choose our created variable left
  4911.                  as the value for the LEFT position of the animation.
  4912.                  Within our 60 frames the front animation will move from
  4913.                  the left side (-160) into the screen (0).
  4914. {TOP 0}      ... The animation will stay on the same heigth all the time.
  4915. {MIX mix}    ... Within the 60 frames we change the value of mix from 0
  4916.                  to 100. Mix 100 means you will only see the pictures
  4917.                  in front of the background pictures - and these are the
  4918.                  frames of the animation!
  4919. {CENTREX off}... pics will NOT be centred
  4920. {CENTREY off}... pics will NOT be centred
  4921. {MODE Color}
  4922. {DITHERING Floyd}
  4923. {DEPTH 5}
  4924. Now we made all settings, so press the CONVERT gadget in the converter
  4925. window!
  4926. {CONVERT}
  4927. Depending on the speed of your computer you may drink a cup of coffee or
  4928. just look how the animation is created.
  4929. The 60 24-Bit pictures will be wiped, fadet, ditherd and saved in 5-Bit.
  4930. From the @{" Part 2 " LINK Tut1-Teil2} I will tell you only the important things
  4931. as you should know by know how the whole thing is working!
  4932. @ENDNODE
  4933. @NODE Tut1-Teil2 "Part 2"
  4934. cha.yafa
  4935. Now we create an animation without effects. So first remove all the effects
  4936. form the processor-list.
  4937. {PROCESSOR CLEAR}
  4938. The following settings stay unchanged for the whole tutorial!
  4939. {MODE Color}
  4940. {DITHERING Floyd}
  4941. {DEPTH 5}
  4942. The input single-pictures stay the same as in part 1!
  4943. Do not forget to change the output name into:
  4944. {wftut:halve_size/results/cha.yafa}
  4945. So lets start the converting!
  4946. {CONVERT}
  4947. @{" Part 3 " LINK Tut1-Teil3}
  4948. @ENDNODE
  4949. @NODE Tut1-Teil3 "Part 3"
  4950. cha_rotate.yafa
  4951. Now the CHA Animation will be rotated.
  4952. Output-Name:
  4953. {wftut:halve_size/results/cha_rotate.yafa}
  4954. Variable:      rotate
  4955. Points:         2
  4956. Nr. 1:          0,    0   ... Start 0
  4957. Nr. 2:         60,  360   ... end 360
  4958. Interpolation: linear
  4959. Let`s add a rotate effect in the processor:
  4960. {ADD ROTATE}
  4961. Make the following selections:
  4962. {INPUT Stream}       ... Input pictures
  4963. {OUTPUT Stream}      ... Output animation
  4964. {CENTREx 88}  [176]  ... Centre of the picture. To get the centre use a
  4965.                          calculator or:
  4966.                          {SINGLE Picture}
  4967.                          {BROWSE picture for the 60 CHA-picture}
  4968.                          {APPLY DIMENSIONS}
  4969.                          and so you get the centre-settings in the easy
  4970.                          way!
  4971. {CENTREY 72}  [144]
  4972. {RADIUS 120}  [220]  ... Radius for rotating
  4973. {AMOUNT rotate}      ... amount in degrees
  4974. {ZOOM 1}             ... zoom amount
  4975. After this we can start the converting!
  4976. Now come to @{" Part 4 " LINK Tut1-Teil4}...
  4977. @ENDNODE
  4978. @NODE Tut1-Teil4 "Part 4"
  4979. cha_twirl.yafa
  4980. Lets use the cool twirl effect.
  4981. (do not forget the output name!)
  4982. {wftut:halve_size/results/cha_twirl.yafa}
  4983. Variable:      rotate
  4984. Points:         5
  4985. Nr. 1:          0,    0   ... Start 0
  4986. Nr. 2:         20,  100 
  4987. Nr. 2:         30,  210
  4988. Nr. 2:         40,  100
  4989. Nr. 2:         60,    0   ... End 0
  4990. Interpolation: spline
  4991. We add the twirl effect in the processor:
  4992. {ADD TWIRL}
  4993. We choose the following settings:
  4994. {INPUT Stream}       ... Input Pictures
  4995. {OUTPUT Stream}      ... Output animation
  4996. {FALLOFF out}        ... Direction of more power
  4997. {CENTREX 88}  [176]  ... centre of the pictures
  4998. {CENTREY 72}  [144]
  4999. {RADIUS 150}  [220]  ... twirl-radius
  5000. {AMOUNT rotate}      ... degrees
  5001. {POWER 1}            ... Power stays the same
  5002. {ZOOM 1}             ... zoom-amount
  5003. The twirl effect is very time-consuming. Start the converting and if you
  5004. have a slow amiga just drink a can of coffee :-)
  5005. After this interesting effect we go on with @{" Part 5 " LINK Tut1-Teil5}.
  5006. @ENDNODE
  5007. @NODE Tut1-Teil5 "Teil5"
  5008. chab_wipe.yafa
  5009. Now, for the first time, we will see two animations on the screen. CHA will
  5010. be played in the background and CHB will be moved from the top left corner
  5011. to the middle of the screen and zoomed to halve of their size.
  5012. {wftut:halve_size/results/chab_wipe.yafa}
  5013. Variable:      breite
  5014. Points:         2
  5015. Nr. 1:          0,    0        ... start-width 0
  5016. Nr. 2:         60,   88  [176] ... end-width 88 (176/2)
  5017. Interpolation: linear
  5018. Variable:      hoehe
  5019. Points:         2
  5020. Nr. 1:          0,    0        ... start-height 0
  5021. Nr. 2:         60,   72  [144] ... end-height 72 (144/2)
  5022. Interpolation: linear
  5023. Variable:      left
  5024. Points:         2
  5025. Nr. 1:          0,    0       ... start left
  5026. Nr. 2:         60,   44  [88] ... end in the middle (coordinate of the 
  5027.                                   left side of the animation)
  5028. Interpolation: linear
  5029. Variable:      top
  5030. Points:         2
  5031. Nr. 1:          0,    0       ... start at the top
  5032. Nr. 2:         60,   36  [72] ... end in the middle
  5033. Interpolation: linear
  5034. Now we add the following effects
  5035. {ADD LOADIMAGE}
  5036. {ADD SCALE}
  5037. {ADD COMPOSE}
  5038. We make the following selections:
  5039. Loadimage:
  5040. {SEQUENCE wftut:halve_size/frames/chB/pic}
  5041. {OUTPUT Temp1}
  5042. {REPEAT AT 60}
  5043. This command loads the file called 'pic.xxxx' with xxxx as the picture of
  5044. the animation which is generated. So if the processor generates the first
  5045. picture of the anim LOADIMAGE will load pic.0001. For pic 60 of the anim
  5046. pic.0060 will be loaded.
  5047. With repeat you choose which is the last picture. Afterwards LOADIMAGE will
  5048. restart the index with 1.
  5049. We use the buffer Temp1 for loading. With the 8 Buffers and the Strem we
  5050. can combine 9 animations in an very easy way!
  5051. Scale:
  5052. {INPUT Temp1}   ... input picture
  5053. {OUTPUT Temp1}  ... Output picture
  5054. {WIDTH breite}  ... width of the picture
  5055. {HEIGHT hoehe}  ... height of the picture
  5056. {TYPE pixels}   ... Values in Pixel
  5057. {ASPECT ignore} ... Aspect will be ignored
  5058. The temp-picture from the CHB anim will be scaled to the size we set in the
  5059. variables "breite" and "hoehe".
  5060. Compose:
  5061. {BACKGROUND Stream}  ... backgrund pictures from animation CHA
  5062. {FOREGROUND Temp1}   ... foregrund pictures from animation CHB
  5063. {DESTINATION Stream} ... output to the Stream
  5064. {ALPHA none}         ... Alpha chanal
  5065. {LEFT left}          ... left Position
  5066. {TOP top}            ... top oben
  5067. {MIX 100}            ... Mix = 100 ... you see only the anim in front!
  5068. The background of the animation CHB is black. We want the background of the
  5069. CHB anim to be masked out, so we see the anim CHA in the background.
  5070. {CENTREX off}        ... pics will NOT be centred
  5071. {CENTREY off}        ... pics will NOT be centred
  5072. {GENLOCK SingleColor}  ... you can see through one color
  5073. {ALL RGB-VALUES  0}    ... we choose the black color!
  5074. Ready, steady, convert!
  5075. Let`s move to @{" Part 6 " LINK Tut1-Teil6}.
  5076. @ENDNODE
  5077. @NODE Tut1-Teil6 "Part 6"
  5078. chab_scale.yafa
  5079. This animation part is almost like the chab_wipe.yafa anim! Only the size
  5080. and position of the chb pictures differ!
  5081. {wftut:halve_size/results/chab_scale.yafa}
  5082. Variable:      breite
  5083. Points:         2
  5084. Nr. 1:          0,   88  [176] ... halve size at the start
  5085. Nr. 2:         60,  176  [352] ... full size at the end!
  5086. Interpolation: linear
  5087. Variable:      hoehe
  5088. Points:         2
  5089. Nr. 1:          0,   72  [144] ... halve size at the start
  5090. Nr. 2:         60,  144  [288] ... full size at the end!
  5091. Interpolation: linear
  5092. Variable:      left
  5093. Points:         2
  5094. Nr. 1:          0,   44  [88] ... Start -> CHB centred
  5095. Nr. 2:         60,    0       ... End   -> CHB left
  5096. Interpolation: linear
  5097. Variable:      top
  5098. Points:         2
  5099. Nr. 1:          0,   36  [72] ... Start -> CHB centred
  5100. Nr. 2:         60,    0       ... End   -> CHB top
  5101. Interpolation: linear
  5102. Now add the following effects:
  5103. {ADD LOADIMAGE}
  5104. {ADD SCALE}
  5105. {ADD COMPOSE}
  5106. Make the following selections:
  5107. Loadimage:
  5108. {SEQUENCE wftut:halve_size/frames/chB/pic}
  5109. {OUTPUT Temp1}
  5110. {REPEAT AT 60}
  5111. Scale:
  5112. {INPUT Temp1}   ... input picture
  5113. {OUTPUT Temp1}  ... Output picture
  5114. {WIDTH breite}  ... width
  5115. {HEIGHT hoehe}  ... height
  5116. {TYPE pixels}   ... Values in Pixel
  5117. {ASPECT ignore} ... Aspect will be ignored
  5118. Compose:
  5119. {BACKGROUND Stream}
  5120. {FOREGROUND Temp1}
  5121. {DESTINATION Stream}
  5122. {LEFT left}
  5123. {TOP top}
  5124. {MIX 100}
  5125. {CENTREX off}        ... pics will NOT be centred
  5126. {CENTREY off}        ... pics will NOT be centred
  5127. {GENLOCK SingleColor}
  5128. {ALL RGB-VALUES  0}
  5129. Start CONVERT!
  5130. Do you feel it?
  5131. Move on to @{" Part 7 " LINK Tut1-Teil7}.
  5132. @ENDNODE
  5133. @NODE Tut1-Teil7 "Part 7"
  5134. chab_fade.yafa
  5135. Both animations are now full size. In front is chb. We can look through the
  5136. background of chb and see cha. Cha will now be fadet out and a little bit
  5137. displaced.
  5138. {wftut:halve_size/results/chab_fade.yafa}
  5139. Variable:      probability
  5140. Points:         3
  5141. Nr. 1:          0,   0  ... probability for displacing a point
  5142. Nr. 2:         59,   0
  5143. Nr. 3:         60, 100
  5144. Interpolation: bezier
  5145. Variable:      brightness
  5146. Points:         3
  5147. Nr. 1:          0,   0  ... brigthness of CHA.
  5148. Nr. 2:         59, -10
  5149. Nr. 3:         60, -60
  5150. Interpolation: bezier
  5151. Variable:      radius
  5152. Points:         3
  5153. Nr. 1:          0,   0  ... radius within the points will be displaced
  5154. Nr. 2:         60,  20
  5155. Interpolation: linear
  5156. We add the following effects ...
  5157. {ADD LOADIMAGE}
  5158. {ADD DISPLACE}
  5159. {ADD BALANCING}
  5160. {ADD COMPOSE}
  5161. ... and make these selections:
  5162. Loadimage:
  5163. {SEQUENCE wftut:halve_size/frames/chB/pic}
  5164. {OUTPUT Temp1}
  5165. {REPEAT AT 60}
  5166. Displace:
  5167. {INPUT Stream}              ... input Pictures of Anim CHA
  5168. {OUTPUT Stream}             ... output Stream
  5169. {RADIUS Radius}             ... displace-radius
  5170. {PROBABILITY probability}   ... displace probability
  5171. {SEED probability}          ... start value for randomize
  5172. Balancing:
  5173. {INPUT Stream}        ... input picture
  5174. {OUTPUT Stream}       ... output picture
  5175. {alles auf 0}
  5176. {BRIGHT brightness}   ... brightness of anim CHA
  5177. Compose:
  5178. {BACKGROUND Stream}
  5179. {FOREGROUND Temp1}
  5180. {DESTINATION Stream}
  5181. {LEFT 0}
  5182. {TOP 0}
  5183. {MIX 100}
  5184. {CENTREX off}        ... pics will NOT be centred
  5185. {CENTREY off}        ... pics will NOT be centred
  5186. {GENLOCK SingleColor}
  5187. {ALL RGB-VALUES  0}
  5188. After this settings we start converting.
  5189. Let`s come to @{" Part 8 " LINK Tut1-Teil8}.
  5190. @ENDNODE
  5191. @NODE Tut1-Teil8 "Part 8"
  5192. chb.yafa
  5193. The animation will be generated without effects.
  5194. {PROCESSOR CLEAR}
  5195. The processor settings stay the same.
  5196. {MODE Color}
  5197. {DITHERING Floyd}
  5198. {DEPTH 5}
  5199. We have to use new INPUT-SINGLE PICTURES, as we don`t need the cha pictures
  5200. anymore!
  5201. {REMOVE RANGE}
  5202. There should be no more entries. Now ...
  5203. {ADDDIR wftut:halve_size/frames/chB}
  5204. Select ...
  5205. {wftut:halve_size/results/chb.yafa}
  5206. as output name and convert.
  5207. Now you reached the last part, @{" Part 9 " LINK Tut1-Teil9}.
  5208. @ENDNODE
  5209. @NODE Tut1-Teil9 "Part 9"
  5210. chb_fade.yafa
  5211. The animation CHB will be fadet out!
  5212. {wftut:halve_size/results/chb_fade.yafa}
  5213. Variable:      brightness
  5214. Points:         3
  5215. Nr. 1:          0,   0  ... brightness of animation CHB.
  5216. Nr. 2:         59, -10
  5217. Nr. 3:         60, -60
  5218. Interpolation: bezier
  5219. In the processor we ...
  5220. {ADD BALANCING}
  5221. ... and make the following selections
  5222. Balancing:
  5223. {INPUT Stream}        ... input picture
  5224. {OUTPUT Stream}       ... Output picture
  5225. {alles auf 0}
  5226. {BRIGHT brightness}  ... Helligkeit der Anim CHA
  5227. Now CONVERT.
  5228. Congratulations! You just generated all the needed animations! Now lets add
  5229. a small @{" Script " LINK Tut1-Script} to play the animations.
  5230. @ENDNODE
  5231. @NODE Tut1-Script "Script"
  5232. We start the editor:
  5233. {EDITOR}
  5234. We add all the generated animations to the list.
  5235. {ADD cha_wipe.yafa}
  5236. {ADD cha.yafa}
  5237. {ADD cha_rotate.yafa}
  5238. {ADD cha_twirl.yafa}
  5239. {ADD chab_wipe.yafa}
  5240. {ADD chab_scale.yafa}
  5241. {ADD chab_fade.yafa}
  5242. {ADD chb.yafa}
  5243. {ADD chb_fade.yafa}
  5244. Using INFO we make some settings for every animation:
  5245. {DISPLAY Zoomed} 2x2 zooming of the anims, or not.
  5246. {BUFFERS 4}      only 4 buffers, so we dont use too much memory
  5247. Choose these settings for all animations.
  5248. Now use
  5249. {PLAY ALL}
  5250. for playing the animations. Press {AMIGA M} and look at the memory. You
  5251. should have some empty fast-memory, otherwise you should change your
  5252. settings and use only 3 buffers for every animation!
  5253. The zooming, decrunching etc. works faster in the FAST memory!
  5254. Lets save the project!
  5255. {PROJECT wftut:halve_size/Wildfire.prj}
  5256. {SAVE}
  5257. With the external @{" YAFA " link yp.guide/MAIN} Player we can now play this
  5258. animations every time we want. Wildfire is
  5259. not necessary for playing the animations! YP (the player) can be downloaded
  5260. from the internet by everyone!
  5261. {YP -batch wftut:halve_size/Wildfire.prj}
  5262. Now you saw how to wor with some important functions of Wildfire.
  5263. For learning more about this great program read the documenation and test
  5264. the great possibilities of it!
  5265. Thank you for using this tutorial!
  5266. @ENDNODE
  5267. @remark /*************************************************************/
  5268. @remark /*
  5269. @remark                            Demos
  5270. @remark */
  5271. @remark /*************************************************************/
  5272. @node Demos
  5273.                           W K  -  A r t w o r k s
  5274.                             in cooperation with
  5275.                                  since april 92
  5276.                 .    ___ _   - the immortal force -  .
  5277.                 :   /\         _ _            _      :_ __         ___ _
  5278.             ___/|  /_ \_______/\_____________/\_____/|____________/\
  5279.            /\   | /  \ \   __/  \       / ____/   .__|__   _       /
  5280.           /  \  |/    \ \_ \/    \_____/.__/ \    |    |  /   :   /
  5281.          /    \_/      \    \   .___/   | /   \        |\/    |__/_ ___
  5282.         /       \      /    /   | | \    /     \       |/     : \
  5283.      .oO\  _____|\____/\_  /\_____|Oo\  _______/_______|\  _____/___ _
  5284.          \/__ _ :        \/_      :-Z!\/_ _    :       : \/__ _
  5285.                    
  5286. -----------------------------------------------------------------------------
  5287.         INFECT A PART OF LIFE ELEMENTS - A RELIGION CAN'T DIE !
  5288. @{b}           The following releases were made using Wildfire:
  5289. @{ub}
  5290.       @{" Dataworld 1 " link dw1}
  5291.       @{" Wild Summer " link ws1}
  5292.       @{" Dataworld 2 " link dw2}
  5293. @endnode
  5294. @node dw1
  5295.   Dataworld was released at The Party 1995 in Fredericia/Denmark.
  5296.   It finished second in the Wild Competition - a competition where
  5297.   no Hardware restrictions were given.
  5298.   With only 70 MB of (hard/cd)diskspace you will get
  5299.   a 10 MINUTE-FULL-SCREEN-VIDEO-SHOW that just needs an standard
  5300.   A1200 with 4 MB of Fast Ram to run.
  5301.   Dataworld consists of over 30 @{" YAFA " link yp.guide/MAIN} animations, all
  5302.   linked smoothly together using the great @{" Wildfire " link Wildfire.guide/MAIN}.
  5303.   With the @{" YAFA " link yp.guide/MAIN} player all the animations are
  5304.   played without interruption, even on a standard 4x CD rom!
  5305.   Dataworld can be found on:
  5306.   Aminet CD 11  (everything archived)
  5307.   MagnaMedia Amiga Magazin CD 5/6 96 (run from cd)
  5308.   CU amiga coverdisk 04/96 (run from cd)
  5309.   Scene Storm CD 1 (run from cd, use the fix IFT-SFIX.lha)
  5310.   Remember to use the latest @{" YAFA " link yp.guide/MAIN} player on your amiga!
  5311.   You can get it from the Aminet or from different coverdisks.
  5312.   Dataworld is copyrighted to:
  5313.   WK-Artworks                  (animations, Wildfire concept)
  5314.   Smack/Infect                 (@{" YAFA " link yp.guide/MAIN} concept)
  5315.   DJ Mellow-Noise/Infect       (music)
  5316.   Eksec/Infect                 (executive producing)
  5317. @endnode
  5318. @node ws1
  5319.   WiLD SuMMeR was released at `The Summer Party 96` in Denmark.
  5320.   It finished second in the Wild Competition - a competition without any
  5321.   Hardware-restrictions.
  5322.   With only 30 MB Place on CD/HD you`ll get a 4 Minutes full-screen Video
  5323.   which runs on an - todays - standard A1200 (at least 4 MB Fast).
  5324.   WilD SuMMeR consists of over 20 @{" YAFA " link yp.guide/MAIN} Animations, which
  5325.   were created using the great Wildfire.
  5326.   Using the latest @{" YAFA " link yp.guide/MAIN} player you can watch the show
  5327.   even from a ZIP-Drive or a 4X Speed CD-Rom without any gaps between the
  5328.   animations.
  5329.   WiLD SuMMeR is available on:
  5330.   Aminet CD 13                        (all animations archived)
  5331.   CU Amiga Cover CD                   (run from cd)
  5332.   MagnaMedia Amiga Magazin CD 3/4 97  (run from cd)
  5333.   WiLD SuMMeR copyrighted to:
  5334.   WK-Artworks                  (Animations, Wildfire concept)
  5335.   Smack/Infect                 (@{" YAFA " link yp.guide/MAIN} concept)
  5336.   DJ Mellow-Noise/Infect       (Music)
  5337.   Eksec/Infect                 (Executive Producing)
  5338. @endnode
  5339. @node dw2
  5340.   Dataworld 2 was released at The Party 1996 in Aars/Denmark.
  5341.   With 150 MB of (hard/cd)diskspace you will get a
  5342.   12 MINUTE-FULL-SCREEN-VIDEO-SHOW that just needs an standard
  5343.   A1200 with 4 MB of Fast Ram to run.
  5344.   Dataworld 2 consists of over 30 @{" YAFA " link yp.guide/MAIN} animations, all
  5345.   linked smoothly together using the great @{" Wildfire " link Wildfire.guide/MAIN}.
  5346.   With the @{" YAFA " link yp.guide/MAIN} player all the animations are
  5347.   played without interruption, even on a standard 6x CD rom!
  5348.   Dataworld 2 can be found on:
  5349.   MagnaMedia Amiga Magazin CD 3/4 97 (run from cd)
  5350.   Remember to use the latest @{" YAFA " link yp.guide/MAIN} player on your amiga!
  5351.   You can get it from the Aminet or from different coverdisks.
  5352.   Dataworld 2 is copyrighted to:
  5353.   WK-Artworks                  (animations, Wildfire concept)
  5354.   Smack/Infect                 (@{" YAFA " link yp.guide/MAIN} concept)
  5355.   DJ Mellow-Noise/Infect       (music)
  5356.   Eksec/Infect                 (executive producing)
  5357. @endnode
  5358. @remark /*************************************************************/
  5359. @remark /*
  5360. @remark                            Technical stuff
  5361. @remark */
  5362. @remark /*************************************************************/
  5363. @node Technical
  5364. @{b}Technical stuff: @{ub}
  5365. Wildfire was developed using StormC and MUIBuilder (NOT!).
  5366. Wildfire is a very complex program written in ANSI-C.
  5367. Because the 10 MB of source-code are too "complicated"
  5368. for most of the Amiga-compilers we decided to use GCC.
  5369. One of these other "compilers" was even not able to *translate*
  5370. some portions of the ANSI-C-code - which is really poor.
  5371. GCC on the other side compiles all 200 modules producing
  5372. only 6 warnings.
  5373. The GUI was completely designed using GadToolsBox, Wildfire 3.87
  5374. has 151 windows containing 1400 gadgets (including all PlugIns).
  5375. This complexity makes it impossible to use one of these
  5376. "intelligent GUI-designers" because of the large overhead they
  5377. produce.
  5378. The main program was always designed for speed and not to
  5379. conserve memory (You can buy computers, memory, ...- but not time).
  5380. All 3d-operators are optimized to use a fpu. That means that they
  5381. operate fast on systems with fpu but may be worthless on other
  5382. systems. (For example a combination (PowerPlugs!) of a Bump3D-
  5383. and a Wrap-effect applied to an image of the dimensions 640x480
  5384. takes only 30 seconds on a 060-equipped machine.)
  5385. Because most floating-point-operations on the 060-processor
  5386. are faster than integer-manipulations I decided to use
  5387. "natural code" instead of cryptic integer-manipulations.
  5388. On the other side most 2d-operators are designed to be
  5389. fast on all machines. This made is necessary to replace
  5390. all floating-point-operations by integer-manipulations like
  5391. "*luxa++=(WORD)((((dx2*ca+dy2*sa+VPREC2)>>SPREC)+cx+VPREC2)>>SPREC);".
  5392. As you can see we have put a lot work into this project, so
  5393.           @{b}PLEASE DON'T USE OR SPREAD PIRATE COPIES !@{ub}
  5394. @endnode
  5395. @node RenderSettings
  5396. @{b}Render Settings@{ub}
  5397. From within this window all render-settings of various 3d-operators
  5398. supporting the @{" PowerPlugs! " link PowerPlugs!}-concept can be adjusted.
  5399. Most these options are ignored if the output of the selected effect ist
  5400. a 3d-temp-buffer. The only exception ist the parameter "Quant3D"
  5401. which affects the quality of both rendered images and transformed
  5402. objects.
  5403. @{b}Parameters@{ub}
  5404. Name        Possible Values/Unit            Description
  5405. @{uu}
  5406. Zoom        -10.0...10.0                    zoom factor for the whole image
  5407. CentreX,    pixels                          centre for zooming and rotating
  5408. CentreY     pixels
  5409. CamX,       pixels                          camera-position
  5410. CamY,       pixels
  5411. CamZ        pixels
  5412. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  5413. Alpha       degrees                         first rotation angle
  5414. Beta        degrees                         second rotation angle
  5415. Light       NORMAL, PHONG, OFF              type of the applied shading
  5416. Current     1...4                           select the lightsource to modify
  5417. LightX,     pixels                          position of the current lightsource
  5418. LightY,
  5419. LightZ
  5420. LightRed,   0...255                         color of the current lightsource
  5421. LightGreen,
  5422. LightBlue
  5423. Ambient     0.0...1.0                       ambient intensity
  5424. Diffuse     0.0...1.0                       diffuse intensity
  5425. Phong       0.0...1.0                       phong intensity
  5426. PhongSize   0.0...infinity                  size of the "phong-spot"
  5427. PhongAngle  degrees                         max-smoothing-angle for the phong-shader
  5428. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  5429. Quant3D     0.1...100.0                     @{" 3D-Quantization-Value " link pcQuant3D}
  5430. @{b}Functions@{ub}
  5431. Store       copy the current settings to an internal buffer
  5432. Import      import settings from the internal buffer
  5433. This functions are very useful if you have designed a "perfect
  5434. scene" and want to add some more effects to it. Just store
  5435. the settings of the last 3d-effect of your old script and apply
  5436. them to last of the new one.
  5437. @{b}Notes@{ub}
  5438. A) Camera Position
  5439. To simplify the selection of the right view the camera-position is
  5440. interpreted as follows. The (camX,camY)-pair causes a simple translation
  5441. of the generated object into the xy-plane and the camZ-value only
  5442. affects the perspective distortion. The object-size can be adjusted by
  5443. the zoom-parameter.
  5444. This makes it very easy to create effects starting from an untransformed
  5445. image. The camZ-values must be always in the range -100...-10000.
  5446. Small values like -200 cause "strange" views, large values like
  5447. -1000 cause the generation of a nearly parallel view. The actual limits
  5448. depend on the image-size but the preset-value of -800 should always
  5449. produce a "normal 3d-look".
  5450. B) Phong Shading
  5451. Phong shading is only applied to triangles or imported Lightwave-objects.
  5452. Rendering simple objects without "sharp edges" a phong-angle of
  5453. >180 degrees speeds up the computation.
  5454. C) Lightsources
  5455. If you have no idea about the various intensities here comes a more
  5456. detailed description:
  5457.  *ambient  : ambient intensity is the brighness of the object if all
  5458.              lightsources are turned off.
  5459.  *diffuse  : diffuse intensity is the intensity of light used to
  5460.              modify the object-color.
  5461.              (Therefore the combination ambient=1.0 and diffuse=0.0
  5462.              produces "flat" images.)
  5463.  *phong    : intensity of these nice "bright spots"
  5464.  *phongSize: size of the phong-spots, large values (like 10.0...100.0)
  5465.              produce surfaces with high gloss ("hardness")
  5466. D) Coordinate System
  5467. The follwing coordinate system is used while transforming and
  5468. rendering images:
  5469.                                    -y^
  5470.                                      |________
  5471.                    y^                |        |
  5472.                     | /z       ===>  |        |
  5473.                     |/               |        |
  5474.                      ---> x           ----------> x
  5475.                     3D-Object          image
  5476. @endnode
  5477. @node highend
  5478. @{b}           This HIGH END feature is included in the CD-Version, too!
  5479. @{ub}
  5480. After over two months of work for this plugin we are proud to present
  5481.               the @{" Axis3D " link opAxis3D} @{" Example " system "visage wf:doc/pictures/Axis3D.pic"}
  5482. operator! This one is only meant for HIGH END users :-)
  5483. For getting an impression of the quality of this operator just take a look
  5484. at the example pictures available on the aminet:
  5485. pix/misc/wf_axis3d.lha
  5486. @endnode
  5487. @node ParameterSettings
  5488. @{b}Parameter Settings@{ub}
  5489. The Parameter-window was designed to allow an uniform and very comfortable
  5490. way to ajust the various animation-parameters of Wildfire's PlugIns.
  5491. To avoid confusion only one parameter can be modified at one time.
  5492. After opening the Parameter-window you have three choices to change
  5493. the current parameter:
  5494.  *entering an expression or a number into the "Value"-gadget
  5495.  *using the scrollbar to graphically specify a value
  5496.  *selecting a previously defined Envelope using the "Var"-gadget.
  5497. The scrollbar is especially useful to "get in touch" with
  5498. these lots of parameters. Since version 3.74 most of Wildfire's
  5499. PlugIns feature a realtime-preview. In this case all changes
  5500. to the current parameter are made visible instantly (while
  5501. dragging the scrollbar).
  5502. @endnode
  5503. @node TruecolorImages
  5504. @{b}Truecolor Images@{ub}
  5505. Since version 3.74 Wildfire supports truecolor images with
  5506. a depth of 15 or 24 as input for the Converter. There are
  5507. different "tricks" to display such images on AGA-machines.
  5508. The prefered method which affects all the Processor- the
  5509. Converter- and the Player-display can be choosen from
  5510. within the @{" Player " link PlayerWindow}-Window and
  5511. is saved together with all preferences.
  5512. Because Wildfire doesn't support gfx-boards yet there is
  5513. currently no way to display such images "directly". But this will
  5514. change in future.
  5515. To create a 15/24 bit YAFA-animation you have only to specify
  5516. the depth (15 or 24) from within the @{" Processor " link ProcessorWindow}-Window
  5517. and to set the "Processor"-switch in the @{" Converter " link ConverterWindow}-Window
  5518. to "Enabled".
  5519. NOTE: Currently such animations cannot be READ by the Converter. This
  5520. will change in the next release.
  5521. @endnode
  5522.